合并 CSV 文件错误 1004

合并 CSV 文件错误 1004

因此,我尝试制作一个宏,将多个 .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

当我“设置 wbTemp = Workbooks.Open(Files)”时出现错误

我希望这足以说明这个问题。

答案1

使用这部分代码时,您只给出了文件名Set wbTemp = Workbooks.Open(Files)。例如,文件仅包含文件名myfile.csv。缺少路径。将其修改为:

 Set wbTemp = Workbooks.Open(FolderPath & Files)

相关内容