2017-10-03 20 views
0

オートフィルタフィールドには一連のデータを使用する必要があります。実際のマクロでは、文字列の作成はより複雑で可変ですが、以下の例では私の問題をより簡単に再現しています。可変配列を使用したオートフィルタ

文字列変数をオートフィルタに使用しようとすると、オートフィルタはすべてを隠します。私は同じ文字列を使用するが、それは直接配列に入れて、それは動作します。誰もが配列を使ってフィルタリングする方法を教えてくれますか?

Term = """" & APR & """" & "," & """" & MAY & """" 

Debug.Print Term  'just to verify the strings are the same 

Arr1 = Array("APR", "MAY") 'works in the filter 
Arr1 = Array(Term)   'fails in the filter 

Worksheets("Filter").Range("$A:$H").AutoFilter Field:=2, _ 
    Criteria1:=Arr1, Operator:=xlFilterValues 

答えて

0

この

Dim APR As String 
    Dim MAY As String 
    Dim arr1(0 To 1) As String 
    APR = "APR" 
    MAY = "MAY" 
    arr1(0) = APR 
    arr1(1) = MAY 
    Worksheets("Filter").Range("$A:$H").AutoFilter Field:=2, _ 
     Criteria1:=arr1, Operator:=xlFilterValues 
をお試しください
関連する問題