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