excel VBA 中的自动筛选
AutoFilter in excel VBA
我有一个很大的数据电子表格,我正在尝试使用自动过滤器对其进行过滤。我有两个自动过滤器语句,当我同时 运行 它们时,return 没有数据(我知道这是一个错误)。但是,当我 运行 他们分开时,他们工作正常。我不确定是什么导致了这个问题。任何帮助将不胜感激。
每个 "rng" 是要过滤的特定列。
rng3.AutoFilter 1, Criteria1:=Array( _
"CMS Part D (CY " & Year(Date) & ")", "Commercial", "State Medicaid"), Operator:= _
xlFilterValues
rng4.AutoFilter Field:=1, Criteria1:="No"
我建议创建一个变量 "rng",它是您要过滤的整个 table。对于这个例子,我假设 "rng3" 是 A 列,"rng4" 是 B 列。
Sub Filter()
Dim rng as Range
Set rng = Range("A:B")
rng.Autofilter 1, Criteria1:=Array( _
"CMS Part D (CY " & Year(Date) & ")", "Commercial", "State Medicaid"), Operator:= _
xlFilterValues
rng.Autofilter Field:=2, Criteria1:="No"
End Sub
问题似乎是因为您的 Field 属性对于每个语句都是 1,即使您的范围是不同的列。比如rng3是A列,那么字段属性应该是1。如果rng4是B列,那么字段属性应该是2。类似这样....
Dim rng3 As Range
Dim rng4 As Range
Set rng3 = Range("A:A")
Set rng4 = Range("B:B")
rng3.AutoFilter Field:=1, Criteria1:=Array("CMS Part D (CY " & Year(Date) & ")", _
"Commercial", "State Medicaid"), _
Operator:=xlFilterValues
rng4.AutoFilter Field:=2, Criteria1:="No"
我有一个很大的数据电子表格,我正在尝试使用自动过滤器对其进行过滤。我有两个自动过滤器语句,当我同时 运行 它们时,return 没有数据(我知道这是一个错误)。但是,当我 运行 他们分开时,他们工作正常。我不确定是什么导致了这个问题。任何帮助将不胜感激。
每个 "rng" 是要过滤的特定列。
rng3.AutoFilter 1, Criteria1:=Array( _
"CMS Part D (CY " & Year(Date) & ")", "Commercial", "State Medicaid"), Operator:= _
xlFilterValues
rng4.AutoFilter Field:=1, Criteria1:="No"
我建议创建一个变量 "rng",它是您要过滤的整个 table。对于这个例子,我假设 "rng3" 是 A 列,"rng4" 是 B 列。
Sub Filter()
Dim rng as Range
Set rng = Range("A:B")
rng.Autofilter 1, Criteria1:=Array( _
"CMS Part D (CY " & Year(Date) & ")", "Commercial", "State Medicaid"), Operator:= _
xlFilterValues
rng.Autofilter Field:=2, Criteria1:="No"
End Sub
问题似乎是因为您的 Field 属性对于每个语句都是 1,即使您的范围是不同的列。比如rng3是A列,那么字段属性应该是1。如果rng4是B列,那么字段属性应该是2。类似这样....
Dim rng3 As Range
Dim rng4 As Range
Set rng3 = Range("A:A")
Set rng4 = Range("B:B")
rng3.AutoFilter Field:=1, Criteria1:=Array("CMS Part D (CY " & Year(Date) & ")", _
"Commercial", "State Medicaid"), _
Operator:=xlFilterValues
rng4.AutoFilter Field:=2, Criteria1:="No"