.png)
今回は、カッコ内で囲まれた文字列を抜き出すコードをご紹介します。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

コメントを投稿
別ページに移動します