Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabellenblatt als .csv per Button

Tabellenblatt als .csv per Button
04.01.2023 15:56:05
Koberind
Hallo zusammen,
ich würde gerne in Tabellenblatt A ein Command Button programmieren, sodass bei Knopfdruck Tabelle B als Kopie in .csv-Format (ohne Trennzeichen) auf einem Pfad X abgespeichert wird. Dabei wäre noch zu beachten, dass nur ganze Zeile(n) (abgesehen von der Überschriftzeile) benutzt werden sollen, die anhand einer (bzw. mehrerer) Angabe(n) in einer Spalte geprüft werden (zB Suche ID ABC; DEF; etc.). Leider habe ich nur seeehr grobe VBA Kenntnisse. Vielen Dank!!
VG
Kobe
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt als .csv per Button
04.01.2023 16:56:15
Andreas_ausWuppertal
Hallo Kobe,
hier ein Lösungsvorschlag:

Sub CSV_Export()
'--Prozedur erzeugt eine csv-Datei
Dim sExportdatei As String
Dim sTrennzeichen As String
Dim rangeZellbereich As Range
Dim varZeile As Variant 'Long
Dim oZelle As Object
Dim sZeile As String
Dim arrTemp() As String
'Pfadangabe, kann natürlich auch per Angabe im Tabellenblatt von aussen gesteuert werden
sExportdatei = ThisWorkbook.Path & Application.PathSeparator & "meineCSV.csv"
sTrennzeichen = ";"
Set rangeZellbereich = Worksheets("Tabelle2").UsedRange
sZeile = ""
Open sExportdatei For Output As #1
'Zeile für Zeile abarbeiten...
For Each varZeile In rangeZellbereich.Rows
'in der varZeile oZelle für oZelle...
For Each oZelle In varZeile.Cells
sZeile = sZeile & CStr(oZelle.Value) & sTrennzeichen
Next oZelle
' Letztes sTrennzeichen entfernen und varZeile in Datei schreiben
arrTemp = Split(sZeile, sTrennzeichen)
'Hier die Prüfung einbauen (Zeile iO oder niO)
if arrTemp(...)=(...) then
Print #1, Left(sZeile, Len(sZeile) - 1)
End If
sZeile = ""
Next varZeile
Close #1
MsgBox "Fertig. Bitte ausgiebig freuen!!", vbInformation
End Sub
Viele Grüße und einen schönen Tag,
Andreas_ausWuppertal
andy027@gmx.de
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel Tabellenblatt als CSV Exportieren per Button


Schritt-für-Schritt-Anleitung

Um ein Excel-Tabellenblatt als CSV zu exportieren, kannst du einen Command Button verwenden. Hier sind die Schritte, die du befolgen solltest:

  1. Öffne Excel und erstelle ein neues Arbeitsblatt oder öffne ein bestehendes.
  2. Füge einen Command Button ein: Gehe zu "Entwicklertools" und wähle "Einfügen" > "Button (Formularsteuerelement)".
  3. Klicke mit der rechten Maustaste auf den Button und wähle "Makro zuweisen".
  4. Erstelle ein neues Makro mit dem folgenden VBA-Code:
Sub CSV_Export()
    Dim sExportdatei As String
    Dim sTrennzeichen As String
    Dim rangeZellbereich As Range
    Dim varZeile As Variant
    Dim oZelle As Object
    Dim sZeile As String
    Dim arrTemp() As String

    sExportdatei = ThisWorkbook.Path & Application.PathSeparator & "meineCSV.csv"
    sTrennzeichen = ";"
    Set rangeZellbereich = Worksheets("Tabelle2").UsedRange
    sZeile = ""
    Open sExportdatei For Output As #1

    For Each varZeile In rangeZellbereich.Rows
        For Each oZelle In varZeile.Cells
            sZeile = sZeile & CStr(oZelle.Value) & sTrennzeichen
        Next oZelle
        arrTemp = Split(sZeile, sTrennzeichen)
        ' Hier kannst du die Bedingung für die Zeilenprüfung einfügen
        If arrTemp(0) = "DeinKriterium" Then
            Print #1, Left(sZeile, Len(sZeile) - 1)
        End If
        sZeile = ""
    Next varZeile
    Close #1
    MsgBox "Fertig. Bitte ausgiebig freuen!!", vbInformation
End Sub
  1. Passe den Code an deine Bedürfnisse an, insbesondere die Bedingungen zur Zeilenprüfung.
  2. Speichere die Datei als Makro-fähige Excel-Datei (.xlsm).
  3. Teste den Button, indem du ihn klickst, und überprüfe den Speicherort auf die CSV-Datei.

Häufige Fehler und Lösungen

  • Fehler: Makro wird nicht ausgeführt
    Lösung: Stelle sicher, dass die Makros in deinen Excel-Einstellungen aktiviert sind.

  • Fehler: CSV-Datei wird nicht erstellt
    Lösung: Überprüfe den Pfad, unter dem die CSV gespeichert werden soll. Stelle sicher, dass der Ordner existiert.

  • Fehler: Daten fehlen in der CSV-Datei
    Lösung: Überprüfe die Bedingungen im VBA-Code, um sicherzustellen, dass die richtigen Zeilen exportiert werden.


Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du die Daten auch manuell exportieren:

  1. Markiere die gewünschten Daten in Excel.
  2. Kopiere die Auswahl (Strg + C).
  3. Öffne einen Texteditor (z.B. Notepad).
  4. Füge die Daten ein (Strg + V).
  5. Speichere die Datei mit der Endung .csv.

Diese Methode ist zwar weniger automatisiert, kann aber in einigen Fällen nützlich sein.


Praktische Beispiele

Ein praktisches Beispiel wäre das Exportieren von Verkaufsdaten, die in Tabelle2 gespeichert sind. Du könntest die Bedingung im VBA-Code so anpassen, dass nur die Zeilen mit einem Verkaufswert über 1000 in die CSV-Datei geschrieben werden:

If arrTemp(1) > 1000 Then
    Print #1, Left(sZeile, Len(sZeile) - 1)
End If

Tipps für Profis

  • Nutze benannte Bereiche in Excel, um deine Daten einfacher zu referenzieren.
  • Experimentiere mit Fehlerbehandlungsroutinen im VBA-Code, um deine Makros robuster zu machen.
  • Wenn du oft HTML-Daten in CSV umwandeln musst, kannst du eine Funktion erstellen, die diese Arbeit automatisiert.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Tabellenblätter gleichzeitig exportieren?
Du müsstest eine Schleife im VBA erstellen, die durch die Tabellenblätter iteriert.

2. Welche Excel-Version benötige ich für VBA?
VBA ist in den meisten aktuellen Excel-Versionen verfügbar, einschließlich Excel 2010 und höher.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige