こんなのはどうでしょう。
1件目のレコードは要素3つで構成されていると決まっているなら、"<>"を区切り文字としてSplit関数で分割し、先頭の3つを合体させる。
要素数が決まっていないなら、やっぱりSplitで分割して8桁の数字が2回目に出てくるまでの要素を合体。
Sub Sample()
sStr = Split(Range("A1"), "<>")
'要素が三つと決まっている場合
sSample1 = sStr(0) & "<>" & sStr(1) & "<>" & sStr(2) & "<>"
'要素数が決まっていない場合
Sample2 = sStr(0) & "<>"
For i = 1 To UBound(sStr)
If IsNumeric(sStr(i)) And Len(sStr(i)) = 8 Then Exit For
Sample2 = Sample2 & sStr(i) & "<>"
Next i
End Sub
お礼
早速有り難うございました。 やはり、ズバリはないみたいですね。 正規表現を調べましたが、ちょっとそぐわない感じです。 ヒントを頂いたので、 やはり、instrでloopさせました。