我正在尝试将空格分隔的文本文件导入Excel,但问题是它只有一个未知数量的空间。我现在想知道是否有人可以帮助我在导入之前或之后快速删除所有空单元格?它是大约1000000行和maby一百列,包括所有空列。到目前为止,这是我的代码。
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
此致 最大
答案 0 :(得分:0)
这是一种略有不同的方法:
这是代码:
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