関数・メソッド

Array関数を使って複数のデータを抽出する【AutoFilterメソッド】【ExcelVBA】

複数のデータを抽出

オートフィルタ機能で3つ以上の複数のキーワードを指定し、データを抽出したい場合は、
AutoFilterメソッドのCriteria1の部分にArray関数を使って複数のキーワードを指定します。

 

三つのデータを抽出するサンプルコード

まず、以下の表をA1セルにコピーしてください。

商品名単価
商品A500円
商品B300円
商品C550円
商品D100円

 

Public Sub Sample2()
  '「商品A」と「商品C」と「商品D」を抽出する
  ThisWorkbook.ActiveSheet.Range("A1").AutoFilter _
        Field:=1, _
        Criteria1:=Array("商品A", "商品C", "商品D"), _
        Operator:=xlFilterValues
End Sub

配列を使用した場合はこうなります。

Public Sub Sample3()
    Dim str(2) As String
    str(0) = "商品A"
    str(1) = "商品C"
    str(2) = "商品D"
 
    ThisWorkbook.ActiveSheet.Range("A1").AutoFilter _
        Field:=1, _
        Criteria1:=str, _
        Operator:=xlFilterValues
End Sub

 

注意点

  • Sampleは実行後、一度フィルターを解除してください。
  • Array関数を使う際は、Operator:=xlFilterValuesを忘れずに記述してください。
    ※省略すると正常に動きません。

 

関連記事

コメント

タイトルとURLをコピーしました