本記事では条件分岐処理などでよく使われる『Like演算子』について解説していきます。
Like演算子の使い方
ここでは「Like演算子で使われるワイルドカード」と「動作確認」について解説していきます。
Like演算子で使う「ワイルドカード」
まずはLike演算子で使う記号(ワイルドカード)を紹介します。
下がその記号の一覧になります。
記号 | 説明 |
---|---|
? | 任意の1文字 |
* | 任意の文字(0以上) |
# | 1文字の数字 |
[] | 文字リストで指定した文字の中の任意の1文字 【例】 ・[1-5]*:1から5までの数字から始まる |
[! ] | 文字リストで指定した文字以外の任意の1文字 |
簡単な参考コード
上で紹介したワイルドカードを使ってlike演算子を試してみます。
下が試したコードと結果になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Sub Sample1() ' 「?」の場合 Debug.Print "田中旬" Like "田中?" 'True Debug.Print "田中太郎" Like "田中?" 'False ' 「*」の場合 Debug.Print "田中旬" Like "田中*" 'True Debug.Print "田中勇三郎" Like "田中*" 'True ' 「#」の場合 Debug.Print 1234 Like "####" 'True Debug.Print 1234 Like "12##" 'True Debug.Print 1234 Like "12#" 'False ' []の場合 Debug.Print 2 Like "[1-5]" 'True Debug.Print 6 Like "[1-5]" 'False Debug.Print 1234 Like "[1-5]" 'False End Sub |
「あいまい検索」の参考コード
Like演算子は他の比較演算子と同様、IF文などの条件に用いられることが多いです。
そして、条件にLike演算子を用いると「あいまい検索」と言われることがあります。
そんなLike演算子を使って、下ではIF文で文字列を比較してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub Sample2() Dim str As String str = "田中太郎" If str Like "田中*" Then MsgBox "姓は田中です" Else MsgBox "姓は田中ではありません" End If End Sub |
上の7行目のIF文の条件では「変数strの文字列は”田中”という文字列から始まるか」という判定を行っています。
そして、この条件で用いられた変数strは”田中太郎”なので、上のコードを実行してみるとTrueの処理が行われます。
〇おすすめのVBA参考書ランキング!
1位 | 2位 | 3位 |
---|---|---|
Excel VBA 脱初心者のための集中講座 | パーフェクトExcel VBA | ExcelVBA 実戦のための技術 |
初心者~中級者 | 中級者 | 初心者~中級者 |
【初心者が手に取るべき参考書】 ・「書籍+動画」で圧倒的に理解しやすい入門書になっている。 ・丁寧で詳しい解説でボリューム感がある。 | 【より深い理解をしたい方にお勧めな参考書】 ・テーマに対して丁寧な解説・適度な深さで解説されている。 ・幅広くテーマを扱っていることから、基礎知識をあらかた網羅できる。 | 【入門書と一緒に買うべき参考書】 ・1つ1つのテーマを経験豊富なエンジニア視点で解説してくれている。 ・実践的で効果的なコードの書き方が理解できる。 |
【読んでみた一言】 正直、入門書はコレ一冊でいいかも。あとは中級者用の参考書に進むべし。 | 【読んでみた一言】 深く書かれているが、少々専門的に書かれていることから、読む前に数冊の入門書を読破したほうが良い。 | 【読んでみた一言】 基礎知識を持っている人が次のレベルに達するきっかけを与えてくれる参考書である。 |
スポンサーリンク