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

Forumthread: Tabellenblatt als csv dynamisch speichern

Tabellenblatt als csv dynamisch speichern
13.03.2018 19:18:14
Sebastian
Hallo zusammen,
kleines Problem: Lange nicht mehr mit VBA gearbeitet. Wahrscheinlich ganz einfach, aber ich komme grad nicht drauf.
Also: Ich möchte gerne ein ausgeblendetes Tabellenblatt "Export" als csv Datei exportieren / abspeichern. Der Pfad dafür steht in B17 im Tabellenblatt "Einstellungen". Der neue Dateiname inkl. dem Pfad steht in B18 im Tabellenblatt "Einstellungen".
Mein derzeitiger VBA Code:
Sub SaveCSV()
Worksheets("Export").Visible = True
Sheets("Export").Copy
ActiveWorkbook.SaveAs Sheets("Einstellungen").Cells("B18"), xlCSVWindows, local:=True
Worksheets("Export").Visible = False
End Sub
Das klappt jedoch aktuell nicht und landet immmer im Debugger. Kann mir wer helfen?
Viele Grüße
Sebastian
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt als csv dynamisch speichern
13.03.2018 23:06:33
Werner
Hallo Sebastian,
das ist aber eine tolle Fehlerbeschreibung. Welche Codezeile löst den Fehler aus, welcher Fehler, was steht genau in Einstellungen B18?
Am besten eine Beispielmappe.
Gruß Werner
AW: Tabellenblatt als csv dynamisch speichern
14.03.2018 13:34:56
Sebastian
Hallo Werner,
danke für die schnelle Rückmeldung und sorry für die dürftige Beschreibung.
Anbei meine Datei etwas anonymisiert.
Hoffe, du kannst mir helfen?!
Ganz lieben Dank schon mal.
https://www.herber.de/bbs/user/120412.xlsm
LG Sebastian
Anzeige
AW: Tabellenblatt als csv dynamisch speichern
14.03.2018 15:05:29
Werner
Hallo Sebastian,
so:
Sub SaveCSV()
Worksheets("Export").Visible = True
Sheets("Export").Copy
ActiveWorkbook.SaveAs _
Filename:=ThisWorkbook.Sheets("Einstellungen").Range("B18"), FileFormat:=xlCSV, local:=True
'gespeicherte .CSV schließen
ActiveWorkbook.Close
ThisWorkbook.Worksheets("Export").Visible = False
End Sub
Gruß Werner
Anzeige
AW: Tabellenblatt als csv dynamisch speichern
15.03.2018 00:35:23
Sebastian
Hallo Werner,
super, vielen Dank! Jetzt machte es auch ahhh. Aber irgendwie brauch ich grad wieder etwas um rein zu kommen.
LG Sebastian
Gerne u. Danke für die Rückmeldung. o.w.T.
15.03.2018 09:10:02
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dynamisches Speichern eines Excel-Tabellenblatts als CSV


Schritt-für-Schritt-Anleitung

Um ein Excel Tabellenblatt als CSV zu exportieren, kannst du den folgenden VBA-Code verwenden. Dieser Code öffnet zunächst das ausgeblendete Tabellenblatt "Export", speichert es als CSV und schließt es anschließend wieder. Stelle sicher, dass in den Zellen B17 und B18 des Tabellenblatts "Einstellungen" die richtigen Pfadangaben und Dateinamen stehen.

Sub SaveCSV()
    Worksheets("Export").Visible = True
    Sheets("Export").Copy
    ActiveWorkbook.SaveAs _
        Filename:=ThisWorkbook.Sheets("Einstellungen").Range("B18"), FileFormat:=xlCSV, local:=True
    ActiveWorkbook.Close
    ThisWorkbook.Worksheets("Export").Visible = False
End Sub
  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Füge ein neues Modul hinzu und kopiere den obenstehenden Code hinein.
  3. Passe die Zellen B17 und B18 im Tabellenblatt "Einstellungen" entsprechend an.
  4. Schließe den VBA-Editor und führe das Makro SaveCSV aus.

Häufige Fehler und Lösungen

  • Fehler: "Typenkonflikt"
    Dies kann passieren, wenn der Inhalt in B18 kein gültiger Dateiname ist. Überprüfe, ob der Dateiname korrekt formatiert ist.

  • Fehler: "Das Arbeitsblatt ist geschützt"
    Stelle sicher, dass das Tabellenblatt "Export" nicht geschützt ist, bevor du es sichtbar machst.

  • Fehler: "Das Arbeitsblatt kann nicht gefunden werden"
    Überprüfe den Namen des Tabellenblatts. Es muss exakt "Export" genannt werden.


Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch manuell ein Excel Arbeitsblatt als CSV exportieren:

  1. Wähle das gewünschte Tabellenblatt aus.
  2. Gehe zu Datei > Speichern unter.
  3. Wähle den Dateityp "CSV (Comma delimited) (*.csv)" aus der Dropdown-Liste.
  4. Vergib einen Dateinamen und speichere die Datei.

Diese Methode ist praktisch, wenn du nur gelegentlich ein Excel Blatt als CSV exportieren möchtest.


Praktische Beispiele

Wenn du ein Excel Arbeitsblatt als CSV exportieren möchtest, kannst du den folgenden Anwendungsfall betrachten:

  • Beispiel: Du hast ein Verkaufsbericht in einem Tabellenblatt "Verkauf" und möchtest diesen regelmäßig als CSV speichern, um die Daten in ein anderes System zu importieren.

Verwende den VBA-Code, den wir oben besprochen haben, und passe den Namen des Tabellenblatts und den Dateinamen entsprechend an.


Tipps für Profis

  • Automatisierung: Du kannst den Export automatisieren, indem du das Makro an ein Ereignis knüpfst, wie z.B. beim Schließen der Arbeitsmappe.

  • Fehlerprotokollierung: Erwäge, eine Fehlerprotokollierung in deinen VBA-Code einzufügen, um bei Problemen schnell die Ursache zu finden.

  • VBA-Dokumentation: Halte deine VBA-Projekte gut dokumentiert, damit du und andere später wissen, was jeder Teil des Codes bewirkt.


FAQ: Häufige Fragen

1. Wie kann ich ein geschütztes PDF in Word umwandeln?
Verwende spezielle Software oder Online-Dienste, die PDF-Dateien in bearbeitbare Word-Dokumente konvertieren.

2. Kann ich mehrere Arbeitsblätter gleichzeitig als CSV exportieren?
Ja, du müsstest dazu jedoch deinen VBA-Code anpassen, um alle gewünschten Blätter in einer Schleife zu durchlaufen und sie einzeln zu speichern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige