VBAで文字列の抜き出しの方法を教えてください。
同様な質問があり、参考にしてみたのですがうまくいきません。
お分かりの方がいましたらご享受お願いいたします。
30~45字からなる文字列があります。
その中に特定の文字列が2つあり、そのうちの最初の特定文字列に続く文字2つ目の特定文字列前までを抜き出したいのですがうまくいきません。
具体的には
abcdefghi GN=12jikl PE=fghj456
という文字列のなかから"GN="と"PE="の中間の文字を取り出したいのですが、
自分で書いたものでは"PE="以上が抜き出され、"GN="より前の文字列を抜き出せませんでした。
GN=......, PE=......の文字数はそれぞれ不規則です。また、GN=...よりも前の文字数も不規則です。
以下が作成したものです。
Dim i As Integer
Dim Srch As String
Dim Btwn As String
Const Chr1 As String = "GN "
Const Chr2 As String = "PE"
Dim m As String
Set sheetobj = ThisWorkbook.Worksheets("A")
With sheeobj
lastrow = sheetobj.Cells(sheetobj.Rows.Count, 10).End(xlUp).Row
For i = 2 To lastrow
Srch = sheetobj.Cells(i, 10)
Btwn = Mid(Srch, InStr(Srch, Chr1) + 1, InStr(Srch, Chr2) - InStr(Srch, Chr1) - 1)
sheetobj.Cells(i, 9) = Btwn
Next i
End With
End Sub
なにかいい方法があれば教えて頂けたらと思います。
よろしくお願い致します。
お礼
開始位置を調整して、"GN= "のスペースを抜くことでできました。 ありがとうございました!!