UTF-8 in Excel importieren mit VBA
Schritt-für-Schritt-Anleitung
Um eine CSV-Datei im UTF-8 Format in Excel zu importieren, kannst du den folgenden VBA-Code nutzen. Dieser Code ermöglicht das Importieren einer CSV-Datei und das Anhängen der Daten an eine bestehende Tabelle.
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke auf
Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.
- Kopiere den folgenden Code in das Modul:
Sub Neuer_Import_CSV()
Dim strFileName As String, arrDaten, arrTmp, lngR As Long, lngLast As Long
Const cstrDelim As String = ";" 'Trennzeichen
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = "Datei wählen"
.InitialFileName = "\*.csv" 'Pfad anpassen
If .Show = -1 Then
strFileName = .SelectedItems(1)
End If
End With
Rows("6:99999").Select
Selection.Delete Shift:=xlUp
Rows("5:5").Select
Selection.ClearContents
If strFileName <> "" Then
Application.ScreenUpdating = False
Open strFileName For Input As #1
arrDaten = Split(Input(LOF(1), 1), vbCrLf)
Close #1
For lngR = 1 To UBound(arrDaten)
arrTmp = Split(arrDaten(lngR), cstrDelim)
If UBound(arrTmp) > -1 Then
With ActiveSheet
lngLast = .Cells(Rows.Count, 1).End(xlUp).Row + 1
lngLast = Application.Max(lngLast, 5)
.Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1) _
= Application.Transpose(Application.Transpose(arrTmp))
End With
End If
Next lngR
End If
Rows("5:5").Select
Selection.Delete Shift:=xlUp
End Sub
- Speichere die Datei als
Excel-Makro-fähige Arbeitsmappe (*.xlsm)
.
- Führe das Makro aus, um die CSV-Datei zu importieren.
Wenn du die Daten an das Ende einer bestehenden Tabelle anhängen möchtest, kannst du den folgenden Code verwenden:
Sub CSV_Daten_am_Ende_hinzufügen()
' Ähnlicher Code wie oben, jedoch ohne das Löschen der bestehenden Daten
End Sub
Häufige Fehler und Lösungen
Alternative Methoden
Eine weitere Möglichkeit, eine UTF-8 CSV in Excel zu importieren, ist die Verwendung des Power Query-Editors:
- Gehe zu
Daten
> Daten abrufen
> Aus Datei
> Aus Text/CSV
.
- Wähle deine CSV-Datei aus und klicke auf
Importieren
.
- Wähle im Dialogfeld die richtige Kodierung (UTF-8) aus und klicke auf
Laden
.
Praktische Beispiele
- Beispiel 1: Import einer CSV mit deutschen Umlauten. Stelle sicher, dass deine CSV-Datei im UTF-8 Format gespeichert ist, um Zeichen wie ä, ö, ü korrekt darzustellen.
- Beispiel 2: Import mehrerer CSV-Dateien in eine Excel-Tabelle. Du kannst das Makro so anpassen, dass es mehrere Dateien importiert, indem du eine Schleife zur Auswahl mehrerer Dateien verwendest.
Tipps für Profis
- Nutze die
Workbook_Open
-Ereignisprozedur, um das Importieren der CSV-Datei automatisch beim Öffnen der Arbeitsmappe auszuführen.
- Verwende Error-Handling in deinem VBA-Code, um potenzielle Laufzeitfehler abzufangen.
FAQ: Häufige Fragen
1. Was ist der Unterschied zwischen einer CSV und einer CSV im UTF-8 Format?
Eine CSV im UTF-8 Format unterstützt eine größere Anzahl von Zeichen und wird häufig für internationale Daten verwendet.
2. Wie kann ich sicherstellen, dass meine CSV-Datei im UTF-8 Format gespeichert ist?
Öffne die Datei in einem Texteditor wie Notepad++ und wähle "Datei" > "Speichern unter", um die Kodierung auf UTF-8 festzulegen.
3. Kann ich auch andere Trennzeichen verwenden?
Ja, du kannst das Trennzeichen im VBA-Code anpassen, indem du die Konstante cstrDelim
änderst.