
所以我試著製作一個巨集,將多個 .csv 檔案合併到一個 Excel 工作表中。我使用了以下教學: VBA程式碼
但是,一旦我輸入 .csv 檔案的正確路徑,我就會收到“運行時錯誤 '1004:抱歉,我們找不到 April2019.csv。它是否可能已被移動、重命名或刪除?” (April2019.csv 是資料夾中的第一個檔案)。因此,巨集顯然找到了正確的資料夾和 .csv 文件,但隨後它停止了,我不知道為什麼。我一直在嘗試稍微更改一下程式碼,但它不起作用。下面的程式碼是我目前正在使用的程式碼,感謝製作本教學的 Jie Jenn。
Option Explicit
Dim wsMerge As Worksheet
Dim RowInsert As Long
Sub Merge_Files()
Const FolderPath As String = "H:\Documents\Invoices\"
Dim Files As String
Dim wbTemp As Workbook
Dim LastRow As Long
Set wsMerge = ThisWorkbook.Worksheets("Merge")
RowInsert = 2
Files = Dir(FolderPath + "*.csv")
Do Until Files = ""
Set wbTemp = Workbooks.Open(Files)
With wbTemp.Worksheets(1)
LastRow = .Cells(Rows.Count, "A").End(xlUp).Row
.Range("A2:N" & LastRow).Copy
wsMerge.Range("A" & RowInsert).PasteSpecial xlPasteValues
Application.DisplayAlerts = False
wbTemp.Close False
Application.DisplayAlerts = True
RowInsert = RowInsert + LastRow - 1
End With
Files = Dir()
Loop
MsgBox "File Merge Complete", vbInformation
End Sub
當我「Set wbTemp = Workbooks.Open(Files)」時發生錯誤
我希望這足以解決該問題。
答案1
您僅在使用這部分程式碼時給出檔案名稱Set wbTemp = Workbooks.Open(Files)
。例如,文件僅包含文件名myfile.csv
。路徑丟失。修改為:
Set wbTemp = Workbooks.Open(FolderPath & Files)