OfficeType

VBA~条件を指定してデータを抽出しよう~Excel

条件を指定してデータを抽出したい時はRange.AutoFilterメソッドを使います。Rangeオブジェクトでリストの左上のセルを指定するとリストを指定できます。パラメーターFieldでフィールド番号を指定します。フィールド番号はリストの左から始まります。つまり下の画像の例ではフィールド番号1は名前の項目になります。パラメーターCriteria1で抽出条件を指定します。抽出条件は文字列で"=文字列"というように指定します。例えば下の画像の例で班の項目で"=1班"と指定すれば1班の人のデータだけが抽出されます。下のコードを実行するとフィールド番号2、つまりリスト左から2番目の班の項目の1班の人のデータが抽出され、CurrentRegion.Copyで抽出されたデータをSheet2にコピーしています。

Sub test1()

With Worksheets("Sheet1").Range("A1")
.AutoFilter Field:=2, Criteria1:="=1班"
.CurrentRegion.Copy Worksheets("Sheet2").Range("A1")
End With

End Sub

image-01

image-02

image-03