構文
構文は以下の通りです。
Range("データの範囲").AutoFilter Field:=列番号, Criteria1:="抽出条件"
解説
Range("データの範囲")は、オートフィルタを適用するデータの範囲を指定します。例えば、データがA1からD10にある場合、Range("A1:D10") と指定します。AutoFilterは、Excelのオートフィルタ機能を使用して、指定した範囲のデータをフィルタリングします。Field:=列番号は、フィルタを適用する列を指定します。列番号はデータ範囲の中での列の位置を指します。例えば、データ範囲の中で最初の列をフィルタリングする場合、Field:=1 と指定します。Criteria1:="抽出条件"は、抽出したいデータの条件を指定します。例えば、"Apple" という値を持つ行を抽出する場合、Criteria1:="Apple" と指定します。
プログラミング例
具体的なプログラミング例を紹介します。
Sub データを抽出する()
' データ範囲を指定してオートフィルタを適用します
Range("A1:D10").AutoFilter Field:=2, Criteria1:="東京"
' フィルタリングされたデータをコピーして別のシートに貼り付けます
Range("A1:D10").SpecialCells(xlCellTypeVisible).Copy
Sheets("抽出結果").Range("A1").PasteSpecial Paste:=xlPasteValues
' フィルタを解除します
ActiveSheet.AutoFilterMode = False
End Sub
' データ範囲を指定してオートフィルタを適用します
Range("A1:D10").AutoFilter Field:=2, Criteria1:="東京"
' フィルタリングされたデータをコピーして別のシートに貼り付けます
Range("A1:D10").SpecialCells(xlCellTypeVisible).Copy
Sheets("抽出結果").Range("A1").PasteSpecial Paste:=xlPasteValues
' フィルタを解除します
ActiveSheet.AutoFilterMode = False
End Sub
A1からD10までの範囲にオートフィルタを適用し、2列目(B列)の「東京」という値を持つ行を抽出します。また、フィルタリングされた行のみをコピーします。コピーしたデータを「抽出結果」という名前のシートに貼り付けます。最後にフィルタを解除します。
まとめ
オートフィルタを使うことで、特定の条件に基づいてデータを簡単に抽出することができます。ステップごとにコードの意味を理解することで、他の条件に基づいたデータ抽出にも応用が可能です。