拆分具有可变数量的空格VBA的字符串

时间:2010-01-30 14:34:06

标签: excel vba excel-vba

我的列中有一堆数字的文件。这些数字由可变数量的空格分隔。我想跳过第一行并获取所有其他行并分隔行上的每个数字。最后,我想在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

1 个答案:

答案 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