テーマ:プログラミングあれこれ(230)
カテゴリ:VBA
今回より数回に分けて絞り込み(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:="絞り込みしたい文字" 引き続き、オートフィルタについて 次回以降も記載していこうと思う。 お気に入りの記事を「いいね!」で応援しよう
Last updated
2020.09.06 18:03:04
コメント(0) | コメントを書く
[VBA] カテゴリの最新記事
|