我有一个大型数据电子表格,我试图使用自动过滤器进行过滤。我有两个autofilter语句,当我同时运行它们时,不返回任何数据(我知道这是一个错误)。但是,当我单独运行它们时它们工作正常。我不确定是什么导致了这个问题。任何帮助将不胜感激。
每个" rng"是正在过滤的特定列。
rng3.AutoFilter 1, Criteria1:=Array( _
"CMS Part D (CY " & Year(Date) & ")", "Commercial", "State Medicaid"), Operator:= _
xlFilterValues
rng4.AutoFilter Field:=1, Criteria1:="No"
答案 0 :(得分:2)
我建议制作一个变量" rng"这是您尝试过滤的整个表格。我将在这个例子中假设" 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
答案 1 :(得分:0)
似乎问题是因为即使您的范围是不同的列,每个语句的Field属性也是1。例如,如果rng3是A列,那么field属性应该是1.如果rng4是B列,那么field属性应该是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"