VBAでワイルドカードを使う

VBAでは「Like」を使ってワイルドカード的な使い方ができます。

If myword Like "[a-z]" Then

使い方は次の通りです。

【構文】

文字列 Like パターン

文字列がパターンに合致するとTrueを返します。

【パターン】

文字パターン 引数stringの中の一致する文字
? 任意の1文字
* 任意の数の文字
# 任意の1文字の数字(0-9)
[charlist] 文字リストcharlistに指定した文字の中の任意の1文字
[!charlist] 文字リストcharlistに指定した文字以外の任意の1文字

次にパターンに文字リストを使う場合の例を示します。

半角カタカナ

[ヲ-ン]

半角カタカナはコード順で「ヲァィゥ…レロワン」と並ぶので「[ヲ-ン]」とします。

全角カタカナ

[ァ-ヶー]

全角カタカナはコード順で「ァアィイ…ンヴヵヶ」と並ぶので「[ァ-ヶ]」とします。
ただし長音が含まれないので、これを含めるため「[ァ-ヶー]」とします。

全角ひらがな

[ぁ-んー]

全角ひらがなはコード順で「ぁあぃい…ゐゑをん」と並ぶので「[ぁ-ん]」とします。
ただし長音が含まれないので、これを含めるため「[ぁ-んー]」とします。

半角英小文字

[a-z]

半角英大文字

[A-Z]

半角数字

#

「[0-9]」としてもよいのですが半角数字に関しては上述の通り「#」という記号が用意されています。

コメント

  1. […] これはVBAでワイルドカードを使う場合に用いられます。 You Look Too Cool » VBAでワイルドカードを使う 「Like […]

タイトルとURLをコピーしました