SQL 文の Like 演算子のように、VBA でも文字列判定に Like 演算子が使用できます。
初めて知った今日は Like 記念日です。この味が いいねと君が言ったから 7月6日はサラダ記念日!
スポンサーリンク
VBA の Like 演算子
次の MSDN ページにまとめられていますので、詳細はリンク先を参照ください。
ワイルドカード 意味 例 * 任意の数の文字 t* の場合、”t” で始まるすべての単語に一致します。 ? 任意の単一文字 t??t の場合、”t” で始まり “t” で終わるすべての 4 文字の単語に一致します。 # 任意の 1 桁の数字 (0 ~ 9) 1#3 の場合、”1″ で始まり “3” で終わるすべての 3 桁の数値に一致します。 [charlist] charlist の範囲に含まれる任意の単一文字 [a-z] の場合、”a” から “z” の範囲に含まれるすべての文字に一致します (大文字と小文字の区別は、Option Compare の設定によって決定されます)。 [!charlist] charlist の範囲に含まれない任意の単一文字 [!A-Z] の場合、大文字の英文字は除外されます (大文字と小文字の区別は、Option Compare の設定によって決定されます)。
Like 演算子の使用例
Like 演算子の使用例は次の通りです。大文字・小文字の区別は行われないようです。
Dim str As String Dim ret As Boolean str = "あいうえお" ' "あい"で始まる文字列か判別する ret = str Like "あい*" MsgBox ret ' True ' "あ"で始まり"お"で終わる5文字文字列か判別する ' 半角・全角はどちらでも良い ret = str Like "あ***お" MsgBox ret ' True ' # 任意の 1 桁の数字 (0 ~ 9) str = "090-1234-5678" ret = str Like "###-####-####" MsgBox ret ' True ' 全角数字でも数字として判別される str = "090-1234-5678" ret = str Like "###-####-####" MsgBox ret ' True