VBAで自動化 VBA一覧 セル・値の取得と貼り付け 値の一部

【VBA】特定の(異なる)文字列の間の文字を取り出す

特定の文字の間の文字列を取り出すサンプルコード

Excel VBAを使用して、セルA列の「¥」と「_」の間の文字列をセルB列に抽出して書き出すためのコードです。
InStr関数は文字列内で特定の文字列が最初に現れる位置を返します。Mid関数は文字列の特定の部分を抽出します。

InStr関数の解説はこちら【VBA】文字列のセル位置を検索する方法

Mid関数の解説はこちら【VBA】右からn文字・左からn文字削除する方法

Sub ExtractAndWriteText()
Dim rng As Range
Dim cell As Range
Dim startPos As Integer
Dim endPos As Integer
Dim extractedText As String

' A1からA10までの範囲を設定
Set rng = Range("A1:A10")

For Each cell In rng
startPos = InStr(cell.Value, "¥")
endPos = InStr(cell.Value, "_")

' 「¥」と「_」の間の文字列を抽出
If startPos > 0 And endPos > 0 Then
extractedText = Mid(cell.Value, startPos + 1, endPos - startPos - 1)
' 抽出した文字列をB列に書き出す
cell.Offset(0, 1).Value = extractedText
End If
Next cell
End Sub

-VBAで自動化, VBA一覧, セル・値の取得と貼り付け, 値の一部