[Excel VBA] 正規表現判定を行う(RegExp)
Excel VBAで正規表現判定を行う方法
今回は置換など考えず、シンプルに判定のみ行います。
RegExpオブジェクトを用いた正規表現判定
事前準備
VBAの設定を変更する必要があります。
面倒そうですが、簡単なので1分以内に終わります。
1.上部メニューの「ツール」⇒「参照設定」をクリックします。
2.「Microsoft VBScript Regular Expresions 5.5」が必ずあるので見つけてチェックボックスにチェックをいれて「OK」をクリックします。
※Microsoft VBScript Regular Expresions 1.0でもOKな模様。
Excelの再起動とかは要りません。
サンプル
ブック内で日付指定されたシートのセル(1, 1)に"A"と入力するプログラム
Dim regexp as New RegExp ' 擬似的に「数値8桁」で日付指定判定 regexp.Pattern = "([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])" ' 検索文字列全体についてのパターンとの一致を検索するか(True)、最初の一致だけを検索するか(False) regexp.Global = True For i = 1 To Sheets.Count ' Test()で判定処理 if regexp.Test(Sheets(i).Name) Then Sheets(i).Cells(1, 1) = "A" end if Next i
スポンサードリンク
関連記事
-
[Excel][関数] 検索した文字列の位置から合計やカウントをするワザ(ADDRESS関数、MATCH関数、INDIRECT関数)
ピボットテーブルを使った場合など、横軸が可変の表になる場合があったりします。 あくまで一例にすぎま
-
[VBA] 文字列中の特定文字を検索する(InStr関数)
文字列中の特定文字を検索 InStr関数 使い方 InStr(開始位置, 対象文字列, 検
-
[Excel] 時間の加算・減算(time関数)
時間の加算、減算の方法を紹介します。 Excelの日付や時間値は、表示値では整形されていますが
-
[Excel VBA] ループ処理・構文(Do While - Loop、For - Next)
Excel VBAでループ処理を記述する構文 条件判定でループを行う場合(Do While ~ L
-
[Excel][関数] 文字列関数(LEFT、RIGHT、MID)
文字列関数を紹介します。 LEFT、RIGHT、MID関数です。 LEFT関数
-
[Excel][関数] 合計を求めるsum関数
Excelで合計を求めるsum関数を解説します。 書式 =sum([セル範囲])[/text