我正在尝试根据一系列单元格(匹配)检查列表框中的项目
这是我迄今为止所做的。
Dim j As Integer
Dim lItem As Long
Dim rowx as Long
rowx = 12
j = 0
For lItem = 0 To Worksheets("Bordereau Prep").ListBoxPlot.ListCount
If Worksheets("Bordereau Prep").ListBoxPlot.List(lItem) = Worksheets("Liste").Cells(rowx, 40 + j) Then
Worksheets("Bordereau Prep").ListBoxPlot.Selected(lItem) = True
j = j + 1
End If
Next lItem
这就是我想要的,检查列表中range_pr_el
中的项目,但它会在以下位置引发错误:
If Worksheets("Bordereau Prep").ListBoxPlot.List(lItem) = Worksheets("Liste").Cells(rowx, 40 + j) Then
告诉我"错误381:无法读取List属性。属性表的索引无效"。而且我不明白为什么,因为它确实进入了循环,它确实做了它应该做的事情。缺少什么来纠正错误?
提前谢谢
答案 0 :(得分:1)
尝试使用
For lItem = 0 To Worksheets("Bordereau Prep").ListBoxPlot.ListCount - 1
当进行for循环时,最后一次迭代将使lItem等于列表项的数量。但是,列表索引从0开始,因此应该有1的差异。
例如,如果你有1个列表项,.ListCount方法会给你1,所以for循环将尝试访问索引为0的列表项和索引为1的列表项。这会给你一个错误,因为列表框没有& #39; t有2个项目。
`