
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)