編集

【ExcelVBA】カッコ内で囲まれた文字列を抜き出す

2025/04/11
ExcelVBA#006 カッコ内で囲まれた文字列を抜き出す

今回は、カッコ内で囲まれた文字列を抜き出すコードをご紹介します。Excelだとセル内の文言にカッコで補足を書く...という行為自体があまり望ましいものではないのですが、結構よく見かける場面が多いので、備忘録として残しておきます。

開始の文字の位置と終了の文字の位置を検索し、MID関数で取得するという簡単な処理です。今回は画面設計なし、入力データと出力結果はVBAのエディタ内で完結させています(そこまで大掛かりなものではないため、用意するほどのものでもないなと思いましたので...)

カッコ内で囲まれた文字列を抜き出す - ソースコード(ExcelVBA)

Option Explicit
Sub カッコ内の文字を取得()

    Dim 文字列 As String: 文字列 = "おはようございます(こんにちは)こんばんは"
    Dim 開始文字 As String: 開始文字 = "("
    Dim 終了文字 As String: 終了文字 = ")"
    Dim 開始位置 As Integer
    Dim 終了位置 As Integer
    Dim 結果 As String

    開始位置 = InStr(文字列, 開始文字)
    終了位置 = InStr(文字列, 終了文字)
    結果 = Mid(文字列, 開始位置 + 1, 終了位置 - 開始位置 - 1)

    Debug.Print 結果

End Sub
実行結果①

特定の文字と文字の間を取得 - ソースコード(ExcelVBA)

Option Explicit
Sub 特定の文字と文字の間を取得()

    Dim 文字列 As String: 文字列 = "Good morning Hello Good evening"
    Dim 開始文字 As String: 開始文字 = "Good morning"
    Dim 終了文字 As String: 終了文字 = "Good evening"
    Dim 開始位置 As Integer
    Dim 終了位置 As Integer
    Dim 結果 As String

    開始位置 = Len(開始文字)
    終了位置 = InStr(文字列, 終了文字)
    結果 = Replace(Mid(文字列, 開始位置 + 1, 終了位置 - 開始位置 - 1), " ", "")

    Debug.Print 結果

End Sub
実行結果②

新しい投稿はありません 前の投稿