我希望有人可以提供帮助......我有以下代码,这些代码全天都是绝对的。直到16:10,现在突然决定发现运行时错误。在线Sheet1.Cells(lastRow, 1) = Data
Sub Loopthroughtxtdir()
Dim Filename As String
Dim Path As String
Path = "C:\MK\MasterData\"
Filename = Dir(Path & "*.txt")
With ThisWorkbook.Sheets("Sheet1")
Dim lastRow As Long
lastRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Do While Len(Filename) > 0
Dim handle As Integer
handle = FreeFile
Open Path & Filename For Input As #handle
Do Until EOF(handle)
Line Input #handle, Data
Sheet1.Cells(lastRow, 1) = Data
lastRow = lastRow + 1
Loop
Close #handle
Filename = Dir
Loop
End With
MsgBox ("Import Complete")
End Sub
任何人都可以提供帮助。我很困惑为什么这个工作。没有任何改变,现在经过多次测试后停止了。
答案 0 :(得分:0)
正如评论中指出的那样,你的行已经不多了。一种解决方案是测试你是否刚刚进入最后一行,然后继续使用新的工作表(显然未经测试,但应该给你一个要点):
Sub Loopthroughtxtdir()
Dim Filename As String
Dim Path As String
Path = "C:\MK\MasterData\"
Filename = Dir$(Path & "*.txt")
Dim currentSheet As Worksheet
Set currentSheet = ThisWorkbook.Worksheets("Sheet1")
With currentSheet
Dim lastRow As Long
lastRow = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Row
End With
Do While Len(Filename) > 0
Dim handle As Integer
handle = FreeFile
Open Path & Filename For Input As #handle
Do Until EOF(handle)
Line Input #handle, Data
currentSheet.Cells(lastRow, 1) = Data
lastRow = lastRow + 1
If lastRow > currentSheet.Rows.Count Then
Set currentSheet = ThisWorkbook.Worksheets.Add
lastRow = 1
End If
Loop
Close #handle
Filename = Dir$
Loop
MsgBox ("Import Complete")
End Sub