VBA – Bereich in CSV exportieren (Textdatei mit Trennzeichen)

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on Dezember 14, 2022

Bereich in CSV-Datei speichern

vba bereich exportieren

Lösung  Nr. 670 für den Export eines Bereichs in eine Textdatei mit Trennzeichen.

Dies ist eine praktische Alternative zur Excel-Standardmethode, das Arbeitsblatt als Textdatei oder als getrennte CSV-Datei zu speichern („Speichern unter“ wählen), wenn:

1. Sie eine Vorlage verwenden und nur die Daten ohne Kopfzeilen und Sonstiges exportieren möchten

2. Sie vielleicht  auch nur einen Teil eines Datensatzes exportieren möchten

3. Sie die Datei mit einem benutzerdefinierten Trennzeichen, das für Ihre Anwendung spezifisch sein sollte, speichern möchten.

Wenn Sie 1, 2 oder 3 realisieren müssen, kann eine Funktion wie die folgende helfen. Sie akzeptiert einen zu exportierenden Bereich, den Speicherort der Datei und das Trennzeichen, mit dem die Daten getrennt werden sollen und speichert die Daten dann wie angegeben.

So rufen Sie die Funktion BereichExportieren auf:

Sub ExportierenAufrufen()

  'BereichExportieren(Bereich, Wo, Trennzeichen)
  Call BereichExportieren(Tabelle1.Range("A1:C20"), _

  "C:\mark.txt", ",")

End Sub

Zuerst teilen Sie der Funktion den Bereich mit, den Sie exportieren möchten, dann den Ort, an den er exportiert werden soll und schließlich das zu verwendende Trennzeichen. Sie brauchen auch die Funktion ExportRange, hier ist sie:

Function BereichExportieren(WelcherBereich As Range, _
         Wo As String, Trennzeichen As String) As String

  Dim HalteZeile As Long 'Test für neue Zeilenvariable
  HalteZeile = WelcherBereich.Row

  Dim c As Range

  'Bereichsvariable durchlaufen
  For Each c In WelcherBereich
    If HalteZeile <> c.Row Then
      'Zeilenumbruch hinzufügen und zusätzliche Trennzeichen entfernen
      BereichExportieren = Left(BereichExportieren, Len(BereichExportieren) - 1) _
                          & vbCrLf & c.Text & Trennzeichen
        HalteZeile = c.Row
    Else
        BereichExportieren = BereichExportieren & c.Text & Trennzeichen
    End If
Next c

'Zusätzliches Trennzeichen abschneiden
BereichExportieren = Left(BereichExportieren, Len(BereichExportieren) - 1)

'Die Datei löschen, wenn sie bereits existiert
If Len(Dir(Wo)) > 0 Then
    Kill Wo
End If

Open Where For Append As #1 'Die neue Datei beschreiben
Print #1, BereichExportieren
Close #1
End Function
vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples