エクセルマクロVBA

データの抽出(AutoFilterメソッド)

投稿日:

AutoFilterメソッドを使用して、ある条件を満たすデータだけを抽出することができます。

 

[書式]

オブジェクト. AutoFilter [Field],[Criteria1],[Operator],[Criteria2],

[VisibleDropDown]

 

オブジェクト:Rangeオブジェクト

 

引数 

Field: 条件を指定する列番号

Criteria1:抽出条件1

Criteria2:抽出条件2

 

抽出条件の種類

内容

“A”

A

“*A*”

Aを含む

“=5”

5

“<>5”

5以外

“>5”

5より大きい

“>=5”

5以上

“<5”

5より小さい

“<=5”

5以下

=

空白セル

<>

空白以外のセル

 

Operator:指定方法

 

指定方法の種類

設定値

内容

xlAnd

抽出条件12AND条件で指定

xlOr

抽出条件12OR条件で指定

xlTopItems

上位○番目までを表示

xlBottomItems

下位○番目までを表示

xlTopPercent

上位○パーセントまでを表示

xlBottomPercent

下位○パーセントまでを表示

 

AND条件というのは A AND B で AかつBの条件という意味になります。

OR条件というのは A OR B で AまたはBの条件という意味になります。

 

VisibleDropDown

フィルターボタンを表示する場合はTrue, しない場合はFalse

指定しない場合はTrueとなる。

 

フィルターボタン(赤枠内)


 

 

[]

Range(“A1″).AutoFilter Field:=2, Criteria1:=”>=1000″,

Operator:=xlAnd, Criteria2:=”<=3000″

 

A1セルを選択後、そこから2列目(Field:=2)のデータで、

1000以上という条件(Criteria1:=”>=1000″)で、かつ(Operator:=xlAnd

3000以下という条件(Criteria2:=”<=3000″)で検索を行っています。

 

[サンプルC052]

Sub C052()

 

Worksheets(“C052”).Select

 

Range(“A1″).AutoFilter Field:=2, Criteria1:=”>=1000″, _

Operator:=xlAnd, Criteria2:=”<=3000″        

 

End Sub

 

 

Range(“A1″).AutoFilter Field:=2, Criteria1:=”>=1000″, _

Operator:=xlAnd, Criteria2:=”<=3000″                

 

A1セルを選択後、そこから2列目である「金額」の列が1000以上かつ3000以下のデータを抽出しています。





動画で楽にパソコンが身につく方法はこちら>>

-エクセルマクロVBA

Copyright© エクセルVBA使い方入門 , 2020 All Rights Reserved Powered by STINGER.