<p>Excel的TextToColumns允许您指定千位分隔符和十进制字符。我不能从你的问题中看出你到底想要怎样的结果。它可能很简单,只需在Excel中打开(或导入)ASCII文件(无论以哪种方式打开texttocolumns向导),并指定您的需求。在</p>
<p>另外,在不知道源数据是什么样子的情况下编写输入例程有点困难。您只显示了它在Excel中的外观,而不是原始文件。在</p>
<p>这是一个VBA宏,它允许您选择一个文件(过滤文件,使您只看到.ascii文件类型的文件;然后逐行读取文件,去掉前导的“>;”(如果不需要,可以省略)。然后,在指定了千位分隔符和十进制分隔符之后,它按空格字符拆分文件。在VBA例程中,可以指定数据的目标,我就是这样做的。在</p>
<pre><code>Option Explicit
'Could use late-binding for easier portability
' Early binding > Intellisense help
'Set reference to Microsoft Scripting Runtime
Sub GetASCIIFile()
Dim FSO As FileSystemObject
Dim TS As TextStream
Dim sFilePath As String
Dim rData As Range
Dim S As String
'set rData to first cell for output
Set rData = Range("A1")
'Get File Path
sFilePath = Application.GetOpenFilename("ASCII Files (*.ascii), *.ascii")
Set FSO = New FileSystemObject
Set TS = FSO.OpenTextFile(sFilePath, ForReading)
Do Until TS.AtEndOfStream = True
S = TS.ReadLine
'Remove leading > if present
If Left(S, 1) = ">" Then S = Mid(S, 2)
'Write into cell
rData = S
Set rData = rData(2, 1)
Loop
'Split the data on <space>
With Range("a2", Cells(Rows.Count, "a").End(xlUp))
.TextToColumns Destination:=[b2], DataType:=xlDelimited, consecutivedelimiter:=True, _
Tab:=False, semicolon:=False, comma:=False, Space:=True, other:=False, _
DecimalSeparator:=",", ThousandsSeparator:="."
End With
End Sub
</code></pre>