Mehrere CSV-Dateien zusammenführen in Excel
Schritt-für-Schritt-Anleitung
Um mehrere CSV-Dateien zusammenzuführen, kannst du entweder ein Makro verwenden oder die Power Query-Funktion in Excel nutzen. Hier ist eine Schritt-für-Schritt-Anleitung für beide Methoden.
Methode 1: Mit VBA-Makro
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
-
Füge den folgenden VBA-Code ein:
Sub alle_Dateien_Verzeichnis()
On Error GoTo Fehler
Dim Pfad As String, Ext As String, Datei As String
Dim TB1 As Worksheet, TB2 As Worksheet, LR1 As Long, LR2 As Long
Set TB1 = ThisWorkbook.Sheets("TabelleZiel")
Ext = "*.csv"
Pfad = "E:\Excel\Temp\" '**** mit \
Application.ScreenUpdating = False
Datei = Dir(Pfad & Ext)
Do While Len(Datei) > 0
LR1 = TB1.Cells.SpecialCells(xlCellTypeLastCell).Row + 1 'erste freie Zeile
Workbooks.Open Filename:=Pfad & Datei
Set TB2 = ActiveWorkbook.Sheets(1) 'Das Quellblatt / CSV hat nur ein Blatt
LR2 = TB2.Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile des gesamten Blattes
TB2.Cells(1, 1).Resize(LR2, 13).Copy TB1.Cells(LR1, 1) 'Spalte A:M kopieren
Workbooks(Datei).Close False
Datei = Dir() ' nächste Datei
Loop
Err.Clear
Fehler:
If Err.Number > 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
-
Passe den Pfad und den TabelleZiel nach deinen Bedürfnissen an.
-
Führe das Makro aus und die CSV-Dateien werden in das angegebene Tabellenblatt zusammengeführt.
Methode 2: Mit Power Query
- Gehe zu
Daten > Daten abrufen > Aus Datei > Aus Ordner.
- Wähle den Ordner aus, der die CSV-Dateien enthält.
- Klicke auf
Transformieren, um den Power Query-Editor zu öffnen.
- Wähle die Spalten aus, die du zusammenführen möchtest, und klicke auf
Kombinieren.
- Klicke auf
Schließen & Laden, um die Daten in Excel zu importieren.
Häufige Fehler und Lösungen
-
Fehler beim Öffnen von CSV-Dateien: Stelle sicher, dass der angegebene Pfad korrekt ist und die CSV-Dateien nicht geöffnet sind.
-
Leere Zeilen im Zielblatt: Überprüfe, ob das Zielblatt richtig eingestellt ist und keine leeren Zeilen vorhanden sind.
-
Daten nicht korrekt zusammengeführt: Prüfe, ob die Struktur der CSV-Dateien einheitlich ist (gleiche Spaltenanzahl und -reihenfolge).
Alternative Methoden
Wenn du mehrere CSV-Dateien in Excel importieren möchtest, kannst du auch die Kommandozeile verwenden. Hier ist ein Beispielbefehl:
Sub M_snb()
Shell "cmd Copy G:\OF\*.csv G:\zusammen.csv", 0
Workbooks.Open "G:\zusammen.csv"
End Sub
Das ist eine schnelle Methode, um mehrere CSV-Dateien zusammenzuführen, ohne sie manuell zu öffnen.
Praktische Beispiele
-
Zwei CSV-Dateien zusammenführen: Wenn du zwei CSV-Dateien hast, die die gleichen Spalten haben, kannst du die oben genannten Methoden verwenden, um sie in ein einzelnes Tabellenblatt zu importieren.
-
CSV-Datei splitten: Wenn du eine große CSV-Datei hast, die du aufteilen möchtest, kannst du dies ebenfalls mit VBA tun. Ein einfaches Skript kann die Datei in kleinere Teile aufteilen.
Tipps für Profis
-
Verwende Power Query für große Datenmengen: Power Query ist leistungsstark und eignet sich hervorragend für das Datenmanagement.
-
Automatisiere den Prozess mit Makros: Wenn du regelmäßig mehrere CSV-Dateien zusammenführen musst, automatisiere den Prozess mit einem Makro.
-
Teste immer in einer Kopie: Bevor du große Mengen an Daten bearbeitest, teste deine Makros oder Power Query-Transformationsschritte in einer Kopie deiner Datei.
FAQ: Häufige Fragen
1. Wie kann ich mehrere CSV-Dateien in Excel importieren?
Du kannst dies entweder manuell über Daten > Daten abrufen > Aus Datei > Aus Ordner tun oder ein VBA-Makro verwenden.
2. Was mache ich, wenn die Spalten nicht übereinstimmen?
Stelle sicher, dass alle CSV-Dateien die gleiche Struktur haben. Wenn nicht, kann es notwendig sein, die Dateien vor dem Zusammenführen zu bereinigen.
3. Kann ich die CSV-Dateien direkt in ein bestehendes Arbeitsblatt importieren?
Ja, dies kannst du tun, indem du das Zielblatt im VBA-Makro entsprechend angibst oder die Power Query-Funktion verwendest, um die Daten direkt in ein bestehendes Blatt zu laden.