【ExcelVBA】特定文字の前後を取得する

概要

以下の関数を用いて文字列から、特定文字の前後を取得する。
・Left(文字列の左側から◯文字抽出)
・Right (文字列の右側から◯文字抽出 )
・Len (文字列長を数字で返す)
・InStr(検索文字列が何文字目にあるか数字で返す)

コード例

VBA
'"_"より前の'test'を抽出
Left("test_123",InStr("_","test_123")-1)

'"_"より後の'123'を抽出
Right("test_123",(Len("test_123") - InStr("_","test_123")))

カスタマイズ案

対象文字列:”test_123″の部分をセル指定などに変更してください。
検索文字列:”_”の部分を変更してください。

VBA
'例:セルA1の値"熊本県"から"県"より前を取得
Left(Range("A1"),CHARINDEX("県",Range("A1"))-1)