とりにくを好きな人がVBAを勉強しています。

VBAを中心に、その他日々の生活で感じていることを書いていきます。

【Excel】【VBA】速習VBAでオートフィルター

おはようございます。こんにちは。こんばんは。

とりにくVBAです。

VBAの最大の利点はExcelの便利機能を使えちゃうことだと思います。


そこで今回は、Excelの便利機能の一つであるオートフィルターをVBAではどのように書くのか簡単に紹介します。



f:id:mayo032j:20210131102600p:plain
この表をオートフィルターで絞り込みをします。


商品欄をトマトで絞り込む場合はこのように書きます。
f:id:mayo032j:20210131102612p:plain


対象セル(ドット)オートフィルター(半角スペース)左から何列目?(カンマ)絞り込む内容

そんなに難しくはありませんね。


対象セルは狙った表の中のセルであればどこでも構いませんが、左上のセルがよいと思います。

f:id:mayo032j:20210131102634p:plain



同じ列で2つの条件で絞り込む場合はこのように書きます。

f:id:mayo032j:20210131102645p:plain



対象セル(ドット)オートフィルター(半角スペース)左から何列目?(カンマ)絞り込む内容(カンマ)条件(カンマ)絞り込む内容
今回は「トマト」(または)「きゅうり」を絞り込むために、条件に「xlOr」を指定しています。


f:id:mayo032j:20210131102711p:plain


例えば、「トで始まる」(かつ)「トで終わる」ものを絞り込むには、条件に「xlAnd」を指定します。


他にもいろいろな条件があるので、さらに詳しく学びたい方は調べてみてください。



同じ列で3つ以上の条件で絞り込む場合はこのように書きます。


f:id:mayo032j:20210131102737p:plain


f:id:mayo032j:20210131102724p:plain


対象セル(ドット)オートフィルター(半角スペース)左から何列目?(カンマ)絞り込む内容が入っている配列(カンマ)xlFilterValues



3つ以上の場合は配列で内容を指定すること、条件にxlFilterValuesを指定することがポイントです。


f:id:mayo032j:20210131102813p:plain



複数の列で条件を絞り込むにはこのように書きます。


f:id:mayo032j:20210131102759p:plain


対象セル(ドット)オートフィルター(半角スペース)左から何列目?(カンマ)


対象セル(ドット)オートフィルター(半角スペース)左から何列目?(カンマ)



対象セルが同じになるので、Withで囲んでいます。


数値の範囲指定は、不等号記号と数値を含めて”(ダブルクォーテーション)で囲って、文字列で指定します。



以上、VBAでのオートフィルターの書き方について簡単に紹介しました。
オートフィルターは様々な場面で活躍できると思いますので、ぜひ使ってみてください。