我的列中有一堆数字的文件。这些数字由可变数量的空格分隔。我想跳过第一行并获取所有其他行并分隔行上的每个数字。最后,我想在Excel中编写每个数字。我已经能够获得这些行并在Excel上编写它们但我不能将每个数字分开(我将整行作为一个字符串)。
是否有人知道如何拆分具有可变数量空格的字符串?
这是我的代码。
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
答案 0 :(得分:3)
如果使用Excel工作表功能修剪代替VBA功能,则excel将删除单元格内的多个空格(而不仅仅是从左端和右端)。像下面这样的东西应该解决问题。我担心我没有测试它,因为我没有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