CSV-Import untereinander in Excel
Schritt-für-Schritt-Anleitung
Um CSV-Dateien in Excel 2010 zu importieren und die Daten untereinander einzufügen, kannst du folgendes Makro verwenden. Befolge diese Schritte:
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke auf
Einfügen
> Modul
, um ein neues Modul zu erstellen.
- Kopiere den folgenden VBA-Code in das Modul:
Sub Import_CSV()
Dim varDatei
Dim wksImport As Worksheet, Zeile_I As Long
Dim wkbCSV As Workbook, wksCSV As Worksheet, Zeile_L As Long
Dim rngCopy As Range
With Application.FileDialog(msoFileDialogOpen)
.Title = "Bitte die zu importierenden CSV-Dateien auswählen - Mehrfachauswahl möglich"
.AllowMultiSelect = True
.FilterIndex = 6
If .Show = -1 Then
Set wksImport = ActiveWorkbook.Sheets("Import")
With wksImport
'letzte Datenzeile in Spalten B und C ermitteln
Zeile_I = .Cells(.Rows.Count, 2).End(xlUp).Row
With .Cells(.Rows.Count, 3).End(xlUp)
If .Row > Zeile_I Then Zeile_I = .Row
End With
Zeile_I = Zeile_I + 1
End With
With Application
.ScreenUpdating = False
End With
For Each varDatei In .SelectedItems
'CSV-Datei schreibgeschützt öffnen
Set wkbCSV = Application.Workbooks.Open(Filename:=varDatei, ReadOnly:=True, Local:=True)
Set wksCSV = wkbCSV.Sheets(1)
With wksCSV
'letzte Datenzeile in Spalten B und E ermitteln
Zeile_L = .Cells(.Rows.Count, 2).End(xlUp).Row
With .Cells(.Rows.Count, 5).End(xlUp)
If .Row > Zeile_L Then Zeile_L = .Row
End With
'Spalte B aus CSV nach Spalte B in Import kopieren
Set rngCopy = .Range(.Cells(1, 2), .Cells(Zeile_L, 2))
rngCopy.Copy
wksImport.Cells(Zeile_I, 2).PasteSpecial Paste:=xlPasteAll
'Spalte E aus CSV nach Spalte C in Import kopieren
Set rngCopy = .Range(.Cells(1, 5), .Cells(Zeile_L, 5))
rngCopy.Copy
wksImport.Cells(Zeile_I, 3).PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
End With
Zeile_I = Zeile_I + rngCopy.Rows.Count
Set wksCSV = Nothing
wkbCSV.Close savechanges:=False
Set wkbCSV = Nothing
Next
With Application
.ScreenUpdating = True
End With
End If
End With
End Sub
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Gehe auf das "Import"-Blatt, wo die Daten eingefügt werden sollen.
- Drücke
ALT + F8
, wähle Import_CSV
aus und klicke auf Ausführen
.
- Wähle die gewünschten CSV-Dateien aus und klicke auf
Öffnen
.
Das Makro importiert die Daten aus den CSV-Dateien in die Spalten B und C des "Import"-Blatts.
Häufige Fehler und Lösungen
-
Fehler: Die CSV-Datei ist zu groß für Excel.
- Lösung: Überprüfe, ob du die Datei vor dem Import in kleinere Teile aufteilen kannst. Excel hat eine Begrenzung von 1.048.576 Zeilen pro Arbeitsblatt.
-
Fehler: Daten werden nicht korrekt importiert.
- Lösung: Stelle sicher, dass du die richtigen Spalten im Makro angegeben hast. Achte darauf, dass die CSV-Datei das richtige Trennzeichen verwendet (Semikolon, wenn im Makro so angegeben).
-
Fehler: Das Makro läuft nicht.
- Lösung: Überprüfe, ob Makros in deinem Excel aktiviert sind. Du kannst dies unter
Datei
> Optionen
> Trust Center
> Einstellungen für das Trust Center
> Makroeinstellungen
überprüfen.
Alternative Methoden
-
Manueller CSV-Import:
- Du kannst die CSV-Datei auch manuell importieren, indem du auf
Daten
> Externe Daten abrufen
> Aus Text
klickst und die Datei auswählst. Wähle das Semikolon als Trennzeichen aus.
-
Power Query:
- In neueren Excel-Versionen (ab Excel 2016) kannst du Power Query verwenden, um CSV-Dateien zu importieren und zu transformieren.
Praktische Beispiele
Angenommen, du hast zwei CSV-Dateien, die wie folgt aussehen:
datei1.csv
ID;Name;Alter;Stadt;Wert
1;Max;30;Berlin;100
2;Anna;25;Hamburg;200
datei2.csv
ID;Name;Alter;Stadt;Wert
3;Peter;35;München;150
4;Julia;28;Köln;250
Nach dem Import mit dem obigen Makro würdest du folgende Daten im "Import"-Blatt sehen:
B | C
--------|-----
Name | Wert
Max | 100
Anna | 200
Peter | 150
Julia | 250
Tipps für Profis
- Verwende
xlPasteValues
, wenn du nur die Werte und nicht die Formate importieren möchtest.
- Optimiere dein Makro, indem du Fehlerbehandlungen einfügst, um den Import robuster zu machen.
- Wenn du oft importierst, erwäge, das Makro in der Schnellzugriffsleiste zu speichern, um den Zugriff zu erleichtern.
FAQ: Häufige Fragen
1. Wie kann ich mehrere CSV-Dateien gleichzeitig importieren?
Du kannst beim Ausführen des Makros mehrere Dateien auswählen, indem du die Strg
-Taste gedrückt hältst und die gewünschten Dateien anklickst.
2. Was mache ich, wenn ich eine andere Excel-Version benutze?
Das Makro wurde für Excel 2010 erstellt, sollte jedoch auch in neueren Versionen funktionieren. Achte darauf, dass die VBA-Umgebung in deiner Excel-Version verfügbar ist.