2
Dim libRng As Range, item As Long
Dim refArrCheck As Variant, refArr As Variant
Set libRng = Sheets("Sheet2").Range("B2:F1000")
refArr = Sheets("Sheet1").Range("A1:BA1")
For Each refArrCheck In refArr
For Each cell In libRng.Cells
For item = Me.ListBox1.ListCount - 1 To 0 Step -1
If Me.ListBox1.Column(0, item) = cell.Value And cell.Value = refArrCheck Then
Me.ListBox1.RemoveItem (item)
End If
Next
Next
Next refArrCheck
从本质上讲,我想告诉Excel中通过libRng看,如果有任何匹配它与阵列refArr比较,从列表框中删除项目。 refArr值是列表框中列出的项目。下面的代码似乎“工作”,但它不能正常工作,当我运行它时,它只会删除1个匹配项的匹配项。Excel的VBA:删除列表框项目,如果在阵列
我的第三个For循环或If语句是否错误?如果libRng中的某些单元格是空白的,它也会起作用吗?
更清洁的版本,然后地雷。我的代码真正的问题是我的libRng设置错误,这就是为什么(我认为)它没有按预期工作的原因。总的来说,我更喜欢你的。谢谢! – NuWin