は、あなたがしたい部分を抽出するために、2番目の区切り文字(この場合は「XADDR」)が始まる見つけることInStr機能を使用して、Mid機能することができます
Sub InstrDemo()
Dim s, delim1, delim2 As String
s = "ADDRjohnDOTdoeATfooDOTcomXADDRA646A10.FOO"
delim1 = "ADDR"
delim2 = "XADDR"
Dim pos As Integer
pos = InStr(s, delim2)
Dim part1, part2 As String
part1 = Mid(s, Len(delim1) + 1, pos - Len(delim1) - 1)
part2 = Mid(s, pos + Len(delim2))
MsgBox (part1 & vbCrLf & part2)
End Sub
出力:を
は、(それが一度に簡単だったので、私は、Excel 2013を使用していました。)
それは"magic numbers"の使用を避けるため、そのような文字列としてで区切り文字を入れた方が良いでしょう。
それとも、Split機能を使用できます。
Sub SplitDemo()
Dim s, delim1, delim2 As String
s = "ADDRjohnDOTdoeATfooDOTcomXADDRA646A10.FOO"
delim1 = "ADDR"
delim2 = "XADDR"
s = Mid(s, Len(delim1) + 1)
Dim parts() As String
parts = Split(s, delim2)
' optional: check that the correct number of parts were found...
If UBound(parts) <> 1 Then
MsgBox ("Wrong number of parts.")
End If
MsgBox (parts(0) & vbCrLf & parts(1))
End Sub
従来の方法と同じ出力を提供します。
ありがとうございました! 1つのniggle、電子メールアドレス文字列の最後にXが残っています。 –
@DigitalLightcraftおっと!私はそれを解き放った。 –
優秀、ありがとう、それはうまく働いている、そしてまた第2のオプションのために尋ねる: - D –