Vba 使用复选框筛选多个条件
我有一个名为Result的工作表,我用Listbox创建了一个userform 我想过滤并查看特定位置的结果。我总共有7个位置。如果我同时单击多个位置,我应该能够看到结果 为此,我创建了一个带有复选框的列表框,并尝试了如下代码:Vba 使用复选框筛选多个条件,vba,excel,Vba,Excel,我有一个名为Result的工作表,我用Listbox创建了一个userform 我想过滤并查看特定位置的结果。我总共有7个位置。如果我同时单击多个位置,我应该能够看到结果 为此,我创建了一个带有复选框的列表框,并尝试了如下代码: Private Sub Filter1() Dim Ws As Worksheet Dim strCriteria() As String Dim arrIdx As Integer Dim cBox As Control arrIdx = 0 For Each
Private Sub Filter1()
Dim Ws As Worksheet
Dim strCriteria() As String
Dim arrIdx As Integer
Dim cBox As Control
arrIdx = 0
For Each cBox In Me.Controls
If TypeName(cBox) = "Listbox" Then
If cBox.Value = True Then
ReDim Preserve strCriteria(0 To arrIdx)
strCriteria(arrIdx) = cBox.Caption
arrIdx = arrIdx + 1
End If
End If
Next cBox
Set Ws = ThisWorkbook.Sheets("Result")
If arrIdx = 0 Then
Ws.UsedRange.AutoFilter
Else
Ws.Range("A:R").AutoFilter Field:=12, Criteria1:=Array(strCriteria), Operator:=xlFilterValues
End If
End Sub
我在我的列表框中调用了这个过滤器函数。我没有发现任何过滤器功能发生。有谁能帮忙,我哪里错了,需要修改什么-
strCriteria已经是一个数组
尝试Ws.Range(“A:R”)。自动筛选字段:=12,标准1:=strCriteria,运算符:=xlFilterValues