【发布时间】:2021-01-21 19:44:27
【问题描述】:
我已经看到了一些单列列表框的解决方案,但对于多列列表框来说没有什么实质性的。
我的列表框有 4 列,值来自 4 个不同的组合框,用户可以在其中选择他们想要的任何值,然后单击“添加”按钮。
以下是我用来实现此目的的代码:
Dim possibleProdInd As String
Dim possibleDim As String
Dim possibleValue As String
Dim possibleScore As Double
Dim countList As Double
possibleProdInd = seg_cbb_IndProd.Value
possibleDim = seg_cbb_selDim.Value
possibleValue = frmSeg.seg_cbb_posVal.Value
possibleScore = seg_tb_posValSco.Value
countList = frmSeg.seg_lb_posValSco.ListCount
frmSeg.seg_lb_posValSco.AddItem
frmSeg.seg_lb_posValSco.List(countList, 0) = possibleProdInd
frmSeg.seg_lb_posValSco.List(countList, 1) = possibleDim
frmSeg.seg_lb_posValSco.List(countList, 2) = possibleValue
frmSeg.seg_lb_posValSco.List(countList, 3) = possibleScore
有什么办法可以避免添加重复项吗?
我需要验证的重复项是:
- 我不能有相同的 Prod+Dim+Value 不同的分数,并且
- 我不能有重复项(Prod+Dim+Value+Score)
【问题讨论】:
-
您要避免哪些重复项?整个四边形的重复项或例如相同的 ProdInd+Dim+Value 获得的分数超过 Score?
-
这是个好问题!所以,我不能有相同的 Prod+Dim+Value 不同的分数,我不能有重复(Prod+Dim+Value+Score)。是否有意义? :)
-
您可以创建一个包含 Prod+Dim+Value 组合的集合,添加到集合中,如果此组合的 Prod+Dim+Value 不存在,也将其添加到列表框。
-
@EvR 这些集合是如何工作的?对不起,我对 VBA 很陌生,所以我还不太了解!