VBAでの文字列検索の方法

VBAでの文字列検索の方法

InStr関数を使った検索

VBAで最も基本的な文字列検索には InStr 関数を使用します。

Dim pos As Integer
pos = InStr(1, "こんにちはVBA", "VBA") ' 結果は6

この例では、”VBA” が “こんにちはVBA” の6文字目にあるため、6が返ります。

InStrRev関数を使った検索

InStrRev 関数を使用すると、文字列の後ろから検索できます。

Dim pos As Integer
pos = InStrRev("VBA VBA VBA", "VBA") ' 結果は9

最後に現れる “VBA” の位置が返ります。

Like演算子を使ったパターンマッチング

特定のパターンに合致するかどうかを調べる場合、Like 演算子が便利です。

Dim result As Boolean
result = "VBA123" Like "VBA###" ' 結果はTrue

“#” は数字を表します。この場合、”VBA123″ は “VBA###” に一致します。

正規表現を使った高度な検索

VBAで正規表現を使うには、VBScript.RegExp オブジェクトを使用します。

Dim regEx As Object
Set regEx = CreateObject("VBScript.RegExp")
regEx.Pattern = "\d+"
regEx.Global = True
Dim matches As Object
Set matches = regEx.Execute("VBA123 ABC456")
Dim match As Object
For Each match In matches
    Debug.Print match.Value ' 123, 456
Next

このコードは文字列内の数字をすべて抽出します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です