【VBA】括弧で囲まれた文字列を取り出す

VBAで
 ・括弧で囲まれた文字列の取り出し
ができます!

PR

VBAコード

ここでは例として
 ・文字列「りんご(青森産)200円」から
 ・括弧で囲まれた文字列「青森産」の取り出し
をします。

Option Explicit

Sub sample()
    
    Dim targetStr As String
    Dim tempStr1 As String
    Dim tempStr2 As String
    Dim resultStr As String

    '対象文字列
    targetStr = "りんご(青森産)200円"
    
    '「括弧」の存在確認
    If (InStr(targetStr, "(")) = 0 Or (InStr(targetStr, ")")) = 0 Then
        MsgBox ("「(」と「)」のどちらか、または両方が存在しません。処理を終了します。")
        Exit Sub
    End If
    
    '開始の括弧「(」を「■」へ置換
    tempStr1 = Replace(expression:=targetStr, _
                       Find:="(", _
                       Replace:="■", _
                       compare:=vbTextCompare)
    '終了の括弧「)」を「■」へ置換
    tempStr2 = Replace(expression:=tempStr1, _
                       Find:=")", _
                       Replace:="■", _
                       compare:=vbTextCompare)
     
    '「■」で区切って分割することで作成される配列の、インデックス番号「1」の値を取得
    resultStr = Split(tempStr2, "■")(1)
    
    '結果を確認
    MsgBox (resultStr)
    
End Sub

「対象文字列」に「括弧」が存在するか、確認します(14~17行目)。
※「(」と「)」が存在するかを確認します。
※存在しない場合は処理を終了します。

「対象文字列」に含まれる「括弧」を、「■」へ置換します(20~28行目)。
※「(」と「)」を置換します。

「■」で区切って分割することで作成される配列の
 ・インデックス番号「1」の値を取得
します(31行目)。
※インデックス番号「1」の値が「括弧で囲まれた文字列」となります。

PR

実行結果

括弧で囲まれた文字列を取り出せました。

実行結果
実行結果
PR

参考①

上記のVBAコードは、以下の記事を参考にして作成しました。

PR

参考②

上記のVBAコードで使用している以下の詳細は、公式サイトをご確認ください。

●Replace関数


●Split関数

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