VBA:文字列の正規表現(1)パターンに一致するか否かを評価する方法


  • 入力された文字列が、入力規則にあっているかチェックしたい
  • 入力規則と異なる値が入力されないようにチェックしたい

  •  VBAの処理でユーザが入力した値が入力規則と異なる場合や、データベースの型と違う場合など、入力パターンがあっているかどうかのチェックをしたい場合があります。
     以下の方法で正規表現のチェックができるので、その方法を説明します。

    ※このオブジェクトを利用するには事前の準備が必要です。設定されていない可能性もあるので、ページの一番下の関連記事にある「事前準備(参照設定の設定)」を事前に確認してください。

    (1)パターンにマッチするか否かを評価する方法

     以下を実行すると、入力値がパターン(Check_Pattern)に一致しているかどうかのチェックができます。
    ここでは「郵便番号(例:100-0001)」の規則で入力された場合に「True」が返ります。もし漢字や値が多い場合や、少ない場合には規則と異なるので「False」が返ります。
     なお下記の「\d」は[0-9]と等価で、任意の数字を正規表現とし、次の「{}」(中かっこ・ブレイス)の中で桁数を指定しています。



    ◆関連記事

    VBA:文字列の正規表現「RegExpオブジェクト」利用の事前準備

    【VBA】文字列の正規表現「RegExpオブジェクト」利用の事前準備。参照設定の「Microsoft VBScript Regular Expressions 5.5」の設定方法

    VBA:半角数値かどうか判定する方法(RegExpオブジェクト)

    【VBA】「RegExpオブジェクト」を利用して半角数値かどうか判定する方法

    VBA:文字列の正規表現(3)指定した位置の数字、文字を変換・削除。「RegExp」の「Replace」利用

    【VBA】文字列の正規表現(3)指定した位置の数字、文字を変換・削除。「RegExp」の「Replace」利用。

    VBA:文字列の正規表現(2)指定した範囲の数字、文字を全て変換・削除。「RegExp」の「Replace」利用

    【VBA】文字列の正規表現(2)指定した範囲の数字、文字を全て変換・削除。「RegExp」の「Replace」。指定した範囲の数字・文字をまとめて変換・削除ができます。





    おすすめ