ワイルドカード「*」を使ったオートフィルタのあいまい検索マクロ
を示す。
■LibreOffice-VBA-オートフィルタのあいまい検索マクロ
Option VBASupport 1 Sub sample09() Cells(1, 1).AutoFilter Field:=6, Criteria1:="=*カバー*" 'ω'「カバー」を含む、部分一致 Cells(1, 1).AutoFilter Field:=6, Criteria1:="<>*カバー*" 'ω'「カバー」を含まない、部分不一致 Cells(1, 1).AutoFilter Field:=6, Criteria1:="=樹脂カバー*" 'ω'「樹脂カバー」前方一致 Cells(1, 1).AutoFilter Field:=6, Criteria1:="=*カバーA" 'ω'「カバーA」後方一致 Cells(1, 1).AutoFilter Field:=6, Criteria1:="樹脂カバーA" 'ω'「樹脂カバーA」完全一致 End Sub※まとめて書いたが、使う行以外は削除して実行する。
※アクティブシートの6列目(F列)に対して条件抽出する。
■マクロ実行対象
「部品データ_191108.ods」の「Sheet1」。■マクロ実行結果
■「Cells(1, 1).AutoFilter Field:=6, Criteria1:="=*カバー*" 'ω'「カバー」を含む、部分一致」
■「Cells(1, 1).AutoFilter Field:=6, Criteria1:="<>*カバー*" 'ω'「カバー」を含まない、部分不一致」
■「Cells(1, 1).AutoFilter Field:=6, Criteria1:="=樹脂カバー*" 'ω'「樹脂カバー」前方一致」
■「Cells(1, 1).AutoFilter Field:=6, Criteria1:="=*カバーA" 'ω'「カバーA」後方一致」
■「Cells(1, 1).AutoFilter Field:=6, Criteria1:="樹脂カバーA" 'ω'「樹脂カバーA」完全一致」
【補足】完全一致って、要はフツーのオートフィルタ。
■補足-エクセルVBA-オートフィルタのあいまい検索マクロ
エクセルVBAの場合「Option VBASupport 1」を削除する。
他は同じ。■あとがき
最近オートフィルタの記事ばっかりだな。オートフィルタはデータ抽出のキモってことですわ。
まあ、本質を掴めばプログラム言語は別になんでもよくて、
大事なのはビジョン。
つくりたいモノ、やりたいコトを
実現させるのに適した言語を選ぶこと。
私の場合は「事務作業時間を圧縮しよう」ってことで
エクセルVBAが最適だったと。
プログラムの本質だけ語るよりは
動くモノを例示した方が説得力があると思う。
プログラム記事の信頼性評価はシンプルで
「正しければ動く、誤りなら動かない」
その真偽も情報を受け取る側で確認可能。
正しい情報発信をしているか否か、
わかりやすいのがよい点だよね。
■過去記事-オートフィルタ
■LibreOffice-VBA-オートフィルタで抽出した行以外を削除するマクロ■LibreOffice-VBA-別モジュールのSubプロシージャ呼び出し方法
■LibreOffice-VBA-オートフィルタ-複数条件で抽出するマクロ
■LibreOffice-VBA-オートフィルタ-以上-以下などの条件抽出マクロ
■LibreOffice-VBA-オートフィルタのあいまい検索-ワイルドカード
※この記事。
以上。