我在分离列表框项目时遇到了麻烦,因此可以循环运行它们。我知道这个atm会接收所有项目并尝试通过它们,但是我不知道如何将它们分开。代码如下:
Dim SelectedItems As String
Dim LastRow As Long
LastRow = ActiveSheet.Range("F1").SpecialCells(xlCellTypeLastCell).Row
For i = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(i) = True Then
SelectedItems = SelectedItems & ListBox2.List(i) & vbNewLine
End If
Next i
If SelectedItems = "" Then
MsgBox "Please select minimum one country"
Else
For Each SelectedItems In ListBox2
For i = 11 To LastRow
If Range("F" & i).Value = SelectedItems Then
Rows(i).EntireRow.Hidden = True
Else: Rows(i).EntireRow.Hidden = False
End If
Next i
Next SelectedItems
有人可以协助吗?
Dim SelectedItems As String, LastRow As Long
Dim selItem As Variant, selItems As Variant
LastRow = ActiveSheet.Range("F1").SpecialCells(xlCellTypeLastCell).Row
For i = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(i) = True Then
SelectedItems = SelectedItems & ListBox2.List(i) & vbNewLine
End If
Next i
Stop
If SelectedItems = "" Then
MsgBox "Please select minimum one country"
Else
SelectedItems = left(SelectedItems, Len(SelectedItems) - 1)
selItems = Split(SelectedItems, vbNewLine)
For Each selItem In selItems
For i = LastRow To 11 Step -1
If CStr(Range("F" & i).value) = CStr(selItem) Then
Stop
Rows(i).EntireRow.Hidden = True
'Else: Rows(i).EntireRow.Hidden = False
End If
Next i
Next
End If
您的代码无法在不将其拆分为元素的情况下从字符串中识别每个选定的Item。编辑:在一个测试中转换代码。我将在评论中向您解释如何检查。
注意:我只是试图使您的代码可行。否则,您可以使用Excel AutoFilter(当然是在VBA中)直接进行过滤...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句