Excel VBA 初心者の為の入門講座のホームページです

Excel VBA 入門講座


5.オートフィルタ

データの抽出にはAutoFilerメソッドを使用します。引数にて抽出条件を指定します。

メソッド引数定数内容
AutoFilter
Field フィルタの対象となるフィールド番号(リストの左側から数えた番号)を指定します
Criteria1 抽出条件となる文字列を指定します。
Criteria2 2番目の抽出条件となる文字列を指定します。Criteria1とOperator と組み合わせて、複合抽出条件を指定します
VisibleDropDowntrueドロップダウン矢印を表示
Falseドロップダウン矢印を非表示
OperatorxlAndCriteria1かつCriteria2
xlOrCriteria1またはCriteria2
xlTop10Items上位10番
xlBottom10Items下位10番
xlTop10Percent上位10%
xlBottom10Percent下位10%


'フィールド番号1(セルA列)の中から"6"に一致するデータを抽出
Sub AutoFilter()
    Worksheets("Sheet1").Cells(1, 1).AutoFilter Field:=1, Criteria1:="6"
End Sub

'フィールド番号1(セルA列)の中から"6"に一致するデータを抽出
Sub AutoFilter()
    Worksheets("Sheet1").Range("A1").AutoFilter Field:=1, Criteria1:="6"
End Sub

'フィールド番号2(セルB列)の中から"A"に一致するデータを抽出
Sub AutoFilter()
    Worksheets("Sheet1").Cells(1, 1).AutoFilter Field:=2, Criteria1:="A"
End Sub

'フィールド番号2(セルB列)の中から"A"に一致するデータを抽出
Sub AutoFilter()
    Worksheets("Sheet1").Range("A1").AutoFilter Field:=2, Criteria1:="A"
End Sub

'フィールド番号2(セルC列)の中から40以上60未満の条件に一致するデータを抽出
Sub AutoFilter()
    Worksheets("Sheet1").Cells(1, 1).AutoFilter Field:=3, Criteria1:="<60", _
                                         Operator:=xlAnd, Criteria2:=">=40"
End Sub

'フィールド番号3(セルC列)の中から40以上60未満の条件に一致するデータを抽出
Sub AutoFilter()
    Worksheets("Sheet1").Range("A1").AutoFilter Field:=3, Criteria1:="<60", _
                                         Operator:=xlAnd, Criteria2:=">=40"
End Sub

'フィールド番号3(セルC列)の中から上位10番のものを抽出
Sub AutoFilter()
    Worksheets("Sheet1").Range("A1").AutoFilter Field:=3, Operator:=xlTop10Items
End Sub

'フィールド番号3(セルC列)の中から上位10番のものを抽出
Sub AutoFilter()
    Worksheets("Sheet1").Range("A1").AutoFilter Field:=3, Operator:=xlTop10Items
End Sub
Copyright (C) pc-users.net, All Rights Reserved.