Fehler 1004 beim Zusammenführen von CSV-Dateien

Fehler 1004 beim Zusammenführen von CSV-Dateien

Ich versuche also, ein Makro zu erstellen, das mehrere CSV-Dateien in einem Excel-Arbeitsblatt zusammenführt. Ich habe dafür das folgende Tutorial verwendet: VBA-Code

Wenn ich jedoch den richtigen Pfad zu den CSV-Dateien eingebe, erhalte ich die Meldung „Laufzeitfehler ‚1004: Leider konnten wir April2019.csv nicht finden. Ist es möglich, dass sie verschoben, umbenannt oder gelöscht wurde?“ (April2019.csv ist die erste Datei im Ordner). Das Makro findet also offensichtlich den richtigen Ordner und die CSV-Datei, aber dann stoppt es und ich habe keine Ahnung, warum. Ich habe versucht, den Code ein wenig zu ändern, aber es funktioniert nicht. Der folgende Code ist der, den ich derzeit verwende, Dank an Jie Jenn, die das Tutorial erstellt hat.

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

Der Fehler tritt auf, wenn ich „Set wbTemp = Workbooks.Open(Files)“

Ich hoffe, dies bietet genügend Kontext zum Problem.

Antwort1

Bei diesem Teil des Codes geben Sie nur den Dateinamen an Set wbTemp = Workbooks.Open(Files). Files enthält beispielsweise nur den Dateinamen myfile.csv. Der Pfad fehlt. Ändern Sie ihn wie folgt:

 Set wbTemp = Workbooks.Open(FolderPath & Files)

verwandte Informationen