VisualBasicで文字列を区切る必要があります。
欠点は、セパレーターが複数あることです。
1つはで"+"
、もう1つは"-"
です。
"+"
文字列内にあるかどうかを確認するためのコードが必要です。"+"
文字列内にある場合は、区切り文字として"-"
使用します。"-"
これはできますか?
例えば:Split( "TEXT" , "+" OR "-" ,2)
最も簡単な方法は、2番目の文字を置き換えてから、1つだけで分割することです。
Dim txt As String, updTxt As String
Dim splitTxt() As String
updTxt = Replace(txt, "-", "+")
splitTxt = Split(updTxt, "+")
またはより複雑。以下は、分割された後のパーツのコレクションを返します。必要に応じて、戻りデータをもう少しカスタマイズできます。
Dim txt As String, outerTxt As Variant, innerTxt As Variant
Dim splitOuterTxt() As String
Dim allData As New Collection
txt = "test + test - testing + ewfwefwef - fwefwefwf"
splitOuterTxt = Split(txt, "+")
For Each outerTxt In splitOuterTxt
For Each innerTxt In Split(outerTxt, "-")
allData.Add innerTxt
Next innerTxt
Next outerTxt
あなたが説明することはかなり簡単に思えます。テキストにが含まれているかどうかを確認して、+
使用する区切り文字を決定してください。
このコードを試してください:
dim separator as String
separator = Iif(InStr(txt, "+") <> 0, "+", "-")
splitResult = Split(txt, separator, 2)
txt
このコードは、分割するテキストが変数に含まれていることを前提としています。
ここにはVBAがなく、実際にコードを実行できなかったことに注意してください。エラーが発生した場合は、お知らせください。