Mehrere CSV-Dateien in Excel importieren
Schritt-für-Schritt-Anleitung
- Öffne Excel und erstelle eine neue Arbeitsmappe.
- Drücke
ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
- Klicke auf
Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.
- Kopiere und füge den folgenden VBA-Code in das Modul ein:
Sub CSV_Importieren()
Dim wksZiel As Worksheet, lngZeile_Z As Long
Dim wkbCSV As Workbook
Dim strPfad As String, strDatei As String
strPfad = "C:\Daten\" ' Pfad zu den CSV-Dateien festlegen
Set wksZiel = ActiveWorkbook.Worksheets(1)
'CSV-Dateien zählen
strDatei = Dir(strPfad & "*.csv")
Do Until strDatei = ""
lngZeile_Z = lngZeile_Z + 1
strDatei = Dir
Loop
If lngZeile_Z > 20 Then
If MsgBox("Es sind " & lngZeile_Z & " CSV-Dateien im Verzeichnis." & vbLf & _
"Dateien importieren?", _
vbQuestion + vbOKCancel, "Import CSV-Dateien") = vbCancel Then GoTo Beenden
End If
'CSV-Dateien importieren
strDatei = Dir(strPfad & "*.csv")
lngZeile_Z = 1 '1. Einfügezeile
Application.ScreenUpdating = False
Do Until strDatei = ""
Set wkbCSV = Application.Workbooks.Open(Filename:=strPfad & strDatei, _
ReadOnly:=True, Local:=True)
'Daten kopieren
wkbCSV.Worksheets(1).Range("A1:T6").Copy wksZiel.Cells(lngZeile_Z, 1)
'Spalten mit Infos zum Sortieren anfügen
With wksZiel
.Range(.Cells(lngZeile_Z, 21), .Cells(lngZeile_Z + 5, 21)).Value = strDatei
With .Range(.Cells(lngZeile_Z, 22), .Cells(lngZeile_Z + 5, 22))
.FormulaR1C1 = "=ROW()- " & lngZeile_Z & " + 1"
.Calculate
.Value = .Value
End With
End With
'Nächste Einfügezeile
lngZeile_Z = lngZeile_Z + 6
wkbCSV.Close savechanges:=False
Set wkbCSV = Nothing
strDatei = Dir
Loop
Application.ScreenUpdating = True
Beenden:
End Sub
- Schließe den VBA-Editor und gehe zurück zu Excel.
- Führe das Makro
CSV_Importieren
aus.
Häufige Fehler und Lösungen
-
Fehler: "Das angegebene Dateiformat ist ungültig."
Lösung: Stelle sicher, dass die CSV-Dateien im richtigen Format vorliegen und nicht beschädigt sind.
-
Fehler: "Die Anzahl der zu importierenden Dateien überschreitet 20."
Lösung: Passe den Code an, um die maximale Anzahl der Dateien auf 20 zu begrenzen. Die Abfrage im Code kümmert sich um diesen Fehler.
Alternative Methoden
Eine andere Methode, um mehrere CSV-Dateien in Excel zu importieren, ist die Verwendung von Power Query. Diese Funktion ist in Excel 2016 und neueren Versionen verfügbar. Du kannst die Daten aus mehreren CSV-Dateien zusammenführen, indem du im Menü Daten
die Option Daten abrufen
und dann Aus Datei
wählst.
Praktische Beispiele
Hier ist ein Beispiel, wie du mehrere CSV-Dateien in Excel importieren kannst:
- Angenommen, du hast die folgenden CSV-Dateien im Ordner
C:\Daten\
: Daten1.csv
, Daten2.csv
, Daten3.csv
.
- Der oben bereitgestellte VBA-Code importiert die Daten aus diesen Dateien in die aktive Excel-Tabelle, beginnend ab Zelle A1.
Tipps für Profis
- Verwende den
Application.ScreenUpdating = False
Befehl, um die Bildschirmaktualisierung während des Imports zu deaktivieren. Dies beschleunigt den Vorgang erheblich.
- Du kannst den Code anpassen, um Daten aus spezifischen Bereichen oder in bestimmten Formaten zu importieren. Überlege, ob du zusätzlich Datenbereinigungs- oder Transformationsschritte einfügen möchtest.
FAQ: Häufige Fragen
1. Wie kann ich mehrere CSV-Dateien in eine Excel-Datei zusammenführen?
Du kannst den oben genannten VBA-Code verwenden, um die Daten aus mehreren CSV-Dateien in ein einziges Arbeitsblatt zu importieren.
2. Funktioniert dieser Prozess in Excel 2013?
Ja, der bereitgestellte VBA-Code funktioniert auch in Excel 2013. Achte darauf, dass die CSV-Dateien im richtigen Format vorliegen.