Solar Mikeのコメントから解決策を見つけましたが、これは別の方法です。
以下は、データを事前処理し、デリミタを挿入する短いVBAです。限られた量のデータでテストしたので、修正が必要なエラーが発生する可能性があります。 VBA
...この変換さ
Option Explicit
Sub MakeDelimiters()
Dim LastRow As Long, iLoop As Long
Dim myDelim As String, myStr As String
Dim theRng As Range, theSht As Worksheet, theCell As Range
myDelim = ";"
Set theSht = Worksheets("Sheet1")
LastRow = theSht.Range("A" & theSht.Rows.Count).End(xlUp).Row
Set theRng = theSht.Range("A1:A" & LastRow)
For Each theCell In theRng
myStr = theCell.Value
For iLoop = 1 To Len(myStr)
If IsNumeric(Mid(myStr, iLoop, 1)) And _
Not IsNumeric(Mid(myStr, iLoop + 1, 1)) And _
Mid(myStr, iLoop + 1, 1) <> "," Then
myStr = Left(myStr, iLoop) & myDelim & Right(myStr, Len(myStr) - iLoop)
End If
If IsNumeric(Mid(myStr, iLoop + 1, 1)) And _
Not IsNumeric(Mid(myStr, iLoop, 1)) And _
Mid(myStr, iLoop, 1) <> "," And _
Mid(myStr, iLoop, 1) <> myDelim Then
myStr = Left(myStr, iLoop) & myDelim & Right(myStr, Len(myStr) - iLoop)
End If
Next iLoop
theCell.Value = myStr
Next theCell
End Sub
...これまで

...

どのような区切り文字も付いていないため、できないと思います。印刷できない文字がない限り、私は見ることができません。あなたの唯一の希望は、データの「列」に幅が固定されている場合です。 ColAとColCが*常に*で、ColBが*常に*非数値であることが保証されている場合は、これをマクロで行うことができます。 – vknowles
列Aと列Cは常に数値になりますか?より正確に言えば、列Aは常に数字で終了し、列Cは常に数字で始まりますか? – OldUgly
@OldUgly - はい、ここに該当します – BigMike