用可变数量的空格VBA分割一个string

我有一个列中的一堆数字的文件。 这些数字由可变数量的空格分隔。 我想跳过第一行,并获取所有其他行,并分隔线上的每个数字。 最后,我想在Excel中编写每个数字。 我已经能够得到线,并写在Excel中,但我不能分开每个数字​​(我把整条线作为一个string)。

有没有人知道如何分割一个可变数量的空格的string?

这是我的代码。

Sub Test() r = 0 With New Scripting.FileSystemObject With .OpenTextFile("C:\Users\User\Desktop\File.tab", ForReading) If Not .AtEndOfStream Then .SkipLine Do Until .AtEndOfStream ActiveCell.Offset(r, 0) = Split(.ReadLine, vbCrLf) r = r + 1 Loop End With End With End Sub 

如果您使用Excel工作表函数trim来代替VBA函数,那么excel将删除单元格中的多个空格(而不仅仅是从左端和右端)。 像下面的东西应该解决这个问题。 恐怕我没有testing过,因为我没有Excel的副本。

 Sub Test() Dim splitValues As Variant Dim i As Long r = 0 With New Scripting.FileSystemObject With .OpenTextFile("C:\Users\User\Desktop\File.tab", ForReading) If Not .AtEndOfStream Then .SkipLine Do Until .AtEndOfStream ActiveCell.Offset(r, 0) = Split(.ReadLine, vbCrLf) Application.Trim(ActiveCell.Offset(r, 0)) splitValues = Split(ActiveCell.Offset(r, 0), " ") For i = 0 To UBound(x) ActiveCell.Offset(r, i+1) = splitValues(i) Next Loop r = r + 1 End With End With