CSV-Import mit VBA: Leerzeilen entfernen
Schritt-für-Schritt-Anleitung
Um eine CSV-Datei in Excel zu importieren und dabei leere Zeilen zu entfernen, kannst Du folgendes VBA-Skript verwenden:
- Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
- Klicke auf Einfügenund wähleModul.
- Kopiere den folgenden Code in das Modul:
Sub CSVImportOhneLeerzeilen()
    Dim iFF As Integer, iZeile As Long, iOutZeile As Long
    Dim sFilename As String, sData() As String, sSpArr() As String
    Dim bCheck As Boolean
    Application.ScreenUpdating = False
    With ThisWorkbook.Sheets("Update")
        sFilename = Application.GetOpenFileName("csv files (*.csv), *.csv")
        If sFilename <> "" Then
            iFF = FreeFile()
            Open sFilename For Input As iFF
            sData = Split(Input(LOF(iFF), #iFF), vbCrLf)
            Close iFF
            For iZeile = 0 To UBound(sData)
                If sData(iZeile) <> "" Then
                    sSpArr = Split(sData(iZeile), ",") 
                    bCheck = True
                    If UBound(sSpArr) > 2 Then
                        If sSpArr(2) = "" Then bCheck = False
                    End If
                    If bCheck Then
                        iOutZeile = iOutZeile + 1
                        .Cells(iOutZeile, "A").Resize(1, UBound(sSpArr) + 1) = Application.Transpose(sSpArr)
                    End If
                End If
            Next iZeile
            MsgBox "Import abgeschlossen", vbInformation, "Daten einlesen"
        End If
    End With
    Application.ScreenUpdating = True
End Sub
- Schließe den VBA-Editor und führe das Makro über Entwicklertools>Makrosaus.
Häufige Fehler und Lösungen
- 
Problem: Das Makro funktioniert nicht, wenn die CSV-Datei leer ist. 
- Lösung: Stelle sicher, dass die CSV-Datei Daten enthält und dass der Pfad korrekt ist.
 
- 
Problem: Fehlermeldung wegen leerer Zeilen. 
- Lösung: Überprüfe, ob das Skript korrekt kopiert wurde. Achte darauf, dass keine unnötigen Leerzeilen in der CSV-Datei vorhanden sind.
 
Alternative Methoden
Falls Du nicht mit VBA arbeiten möchtest, kannst Du auch Power Query verwenden:
- Gehe zu Daten>Daten abrufen>Aus Datei>Aus Text/CSV.
- Wähle Deine CSV-Datei aus und klicke auf Laden.
- In Power Query kannst Du die Schritte zur Entfernung leerer Zeilen durchführen, bevor Du die Daten in Excel lädst.
Praktische Beispiele
Angenommen, Du hast eine CSV-Datei mit folgendem Inhalt:
Name,Alter,Stadt
Daniel,30,Frankfurt
,,, 
Karl,25,München
,,,
Nach dem Import mit dem obigen VBA-Skript wird das Ergebnis in Excel wie folgt aussehen:
Name  | Alter | Stadt
------------------------
Daniel| 30    | Frankfurt
Karl  | 25    | München
Tipps für Profis
- Nutze die Funktion Trim, um Leerzeichen in den Zellen zu entfernen, bevor Du die Daten verarbeitest.
- Du kannst das Makro erweitern, um auch andere Bedingungen für den Import zu prüfen, z. B. das Vorhandensein bestimmter Zeichen in den Zellen.
FAQ: Häufige Fragen
1. Wie kann ich Leerzeichen in den Zellen entfernen?
Du kannst die Funktion Trim in VBA verwenden, um führende und nachfolgende Leerzeichen zu entfernen.
2. Was passiert, wenn ich eine große CSV-Datei importiere?
Das Skript ist darauf ausgelegt, große Dateien zu verarbeiten, kann jedoch je nach Systemleistung langsamer sein. Achte darauf, dass Excel nicht überlastet wird. 
3. Kann ich dieses Skript für andere Dateiformate verwenden?
Ja, Du kannst das Skript anpassen, um andere Trennzeichen oder Dateiformate zu unterstützen, indem Du den Code entsprechend änderst.