Excel中带多个空格的开放空间分隔文本文件

Excel中带多个空格的开放空间分隔文本文件,excel,text,import,Excel,Text,Import,我试图将一个以空格分隔的文本文件导入Excel,但问题是它的空格数未知,只有一个空格。我现在想知道,在导入之前或之后,是否有人可以帮助我快速移除所有空单元格?它大约有1000000行,可能有100列,包括所有的空列。这是到目前为止我的代码 currentFile = ActiveWorkbook.Name fileToOpen = Application.GetOpenFilename("PRN Files (*.prn), *.prn") If fileToOpen <> Fals

我试图将一个以空格分隔的文本文件导入Excel,但问题是它的空格数未知,只有一个空格。我现在想知道,在导入之前或之后,是否有人可以帮助我快速移除所有空单元格?它大约有1000000行,可能有100列,包括所有的空列。这是到目前为止我的代码

currentFile = ActiveWorkbook.Name
fileToOpen = Application.GetOpenFilename("PRN Files (*.prn), *.prn")
If fileToOpen <> False Then
 Sheets("Rawdata").Cells.ClearContents ' clear raw_data worksheet
 Workbooks.OpenText Filename:=fileToOpen, DataType:=xlDelimited, Space:=True
 openedFile = ActiveWorkbook.Name
 Workbooks(openedFile).ActiveSheet.UsedRange.Copy Destination:=Workbooks(currentFile).Worksheets("Rawdata").Range("A1")
Workbooks(openedFile).Close
Else
 MsgBox "No data imported"
End If
真诚地,
Max

这里有一个稍微不同的方法:

获取数据 删除所有多余的空格 将所有数据放在A列中 将数据解析为多列 代码如下:

Sub OpenPrnFile()
    Dim sh As Worksheet, filetoOpen As String
    Dim i As Long, s As String, wf As WorksheetFunction
    Set wf = Application.WorksheetFunction
    Set sh = Sheets("Sheet1")
    filetoOpen = Application.GetOpenFilename("PRN Files (*.prn), *.prn")
    If filetoOpen = "" Then Exit Sub

    Close #1
    Open filetoOpen For Input As #1
    sh.Select
    i = 1
    Do Until EOF(1)
        Line Input #1, s
        Cells(i, 1) = wf.Trim(s)
        i = i + 1
    Loop
    Close #1

    For j = 1 To i
        ary = Split(Cells(j, 1), " ")
        For k = LBound(ary) To UBound(ary)
            Cells(j, k + 1).Value = ary(k)
        Next k
    Next j
End Sub

非常感谢,它工作得很好。唯一的问题是这是一个相当缓慢的过程。在速度非常快的PC上加载一个普通文件需要25秒。有没有办法提高速度。我尝试了Application.screenUpdate=False,但没有多大帮助。