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