ULALA'Sブログ

2020/09/06(日)18:03

VBAスタンダード学習15[AutoFilter 予約語付き絞り込み]

VBA(38)

​​​​​​​​​​​​​​​​​​​​​今回より数回に分けて絞り込み(AutoFilter) について記載していこうと思う。 -------------------------------------- ①Range.AutoFilter -------------------------------------- ソースコードを簡潔にするため、 「絞り込み」ボタン押下で「八百屋B」での 絞り込みに限定して記載してみる。 と、その前にオートフィルタを設定する際、 絞り込みがきちんとできる範囲になっているかを Ctrl+「A」で確認しておく。 以下だと57行目が丸ごと空欄の為、58行目以降が うまく絞り込みされないことになる。 どれかひとつでも列に値が無いと範囲として設定されない。 ​以下はきちんと絞り込みができる状態 ※行まるごと空欄でなければ良いので 列に空欄と値が混じっていても絞り込みは可能。 ​ これで絞り込みができる状態になったので、 「絞り込み」ボタンを押下 ソース Sub setAutoFilter()     Range("B49").AutoFilter 1, "八百屋B"     ' または     Range("B49")​.AutoFilter​ ​field​:=1, ​Criteria1​:="八百屋B" End Sub 結果 オートフィルタが設定され、八百屋Bで絞り込みが できていることが確認できた。 .AutoFilterの引数は、、、 第1引数:指定範囲の何列目を絞り込みするかを数値で指定 第2引数:絞り込みの条件を記入(1個目) 第3引数:xlOrやxlAnd等、2個目の条件を設定する際の条件を指定 第4引数:絞り込みの条件を記入(2個目) 引数について、上記ソースでは、 ​第1引数にfield​:=1​ ​第2引数に​Criteria1​:="八百屋B"​ のように、予約語を利用した記述も可能だが、 後々の複雑な絞り込みの際には、これらの予約語を 付けているとエラーになるものがあるので 試験対策として覚えておく程度にした方が良いかと思う。 基本的には予約語無しで記入。 試験用に、、予約語は以下となる。 ​第1引数:field:=数値​ 第2引数:Criteria1:="絞り込みしたい文字" ​第3引数:xlOr、​xlAnd​​ 第4引数:Criteria2:="絞り込みしたい文字" 引き続き、オートフィルタについて 次回以降も記載していこうと思う。​ ​​

続きを読む

総合記事ランキング

もっと見る