# Export einer Csv Datei aus Excel mittels VBA



## KeinName (8. Mai 2007)

Hallo Leute,

habe noch nie was in VBA gemacht. Nun habe ich eine Excel Mappe, aus der  2 Spalten selektiert werden sollen (F,G), dabei ist die Anzahl der Zeilen dynamisch und Leerzeilen solle nicht ausgegeben werden. Habe es schon so versucht:
Sub csvExport()
    On Error Resume Next
    Dim Exportdatei As String
    Dim Trennzeichen As String
    Dim Zellbereich As Range
    Dim Zeile As Object
    Dim Zelle As Object
    Dim TempZeile As String

    Exportdatei = ThisWorkbook.path & Application.PathSeparator & "Datei.csv"
    Trennzeichen = ";"
    Set Zellbereich = ActiveSheet.UsedRange

    Open Exportdatei For Output As #1
    ' Zeile für Zeile abarbeiten...
    For Each Zeile In Zellbereich.Rows
        ' in der Zeile Zelle für Zelle...
        For Each Zelle In Zeile.Cells
            TempZeile = TempZeile & Zelle & Trennzeichen
        Next Zelle
        ' Letztes Trennzeichen entfernen und Zeile in Datei schreiben
        Print #1, Left(TempZeile, Len(TempZeile) - 1)
        TempZeile = ""
    Next Zeile
    Close #1
End Sub

Dies klappt ja ganz gut, es werden alle Zeilen ausgegeben. Da allerdings der Bereich erst bei Zeile 5 anfängt und dazwischen noch Leerzeilen sind, schreibt er logischerweise nur Semikoli hin. Das soll nicht sein.

Vielleicht kann jemand helfen. Müsste wahrscheinlich nur eine Abfrage, ob Zeile gefüllt ist und Spaltenname = "Freigabe" oder "Rechnungsnummer" ist, rein. Aber leider habe ich keine Ahnung, wie man so etwas in VBA definiert.

Vielen Dank!


----------

