Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro und csv-Datei

Makro und csv-Datei
19.04.2017 08:55:09
Marc
Hi,
ich habe eine csv-Datei die ich mit Hilfe eines Makros bearbeiten möchte.
Das Makro zu erstellen klappt erst mal ohne Probleme und auch nach erfolgreicher Ausführung sieht die csv-Datei so formatiert/bearbeitet aus wie ich mir das vorstelle.
Nun aber mein Problem: Wenn ich nach Ausführung des Makros die Datei (weiterhin als csv-Datei) speichere und anschließend wieder öffne sind nicht nur alle (Format-)Änderungen verloren, sondern wenn ich in den VBA-Editor gehe auch mein zuvor geschriebenes Makro nicht mehr da?
Das eine csv-Datei keine Formatierung behält leuchtet mir noch ein. Was ich nicht wusste ist, dass die csv-Datei nach dem Speichern auch das geschriebene Makro verliert.
Liege ich von daher richtig in der Annahme, dass mein Makro nicht nur die Bearbeitung (Inhalt und Form) übernehmen muss, sondern zum Schluss diese Datei auch in einem anderen Format abspeichern sollte? Wäre *.xslm hier die richtige Wahl sodass mir Inhalt/Format und Makro erhalten bleibt?
Danke im Voraus.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro und csv-Datei
19.04.2017 09:02:19
Armin
Hallo,
natürlich *.xlsm (!) denn nur dann werden Makros gespeichert.
Gruß Armin
Ja
19.04.2017 09:07:13
Max2
Hallo,
ja, nur xslm kann Makros.
Ich würde aber empfehlen, die csv Daten einfach in eine xls zu importieren und
per "Makro-Masterdatei" die importierten Daten zu bearbeiten usw.
Du könntest aber auch die Daten in die Makro Datei importieren, diese dort bearbeiten und
das Tabellenblatt anschließend als eigene xls Datei exportieren.
Ein Makro sollte immer nur in einer einzigen Datei vorhanden sein und nicht etliche
male dupliziert werden.
Das verursacht sonst nur Chaos.
Anzeige
csv-Datei hat nix mit Excel zu tun
19.04.2017 13:18:12
Zwenn
Hallo Marc,
folgendes mal als grundsätzliche Erklärung für Dich:
Das Kürzel CSV steht für Comma Separated Value und ist immer eine reine Textdatei, wie Du sie auch mit der Endung .txt kennst. Da werden wirklich nur die Zeichen drin gespichert, die auch dargestellt werden, wenn die Datei aufgerufen wird.
Der Unterschied zwischen einer allgemeinen .txt und einer .csv Datei liegt darin, dass von einer CSV Datei ein ganz bestimmter Aufbau erwartet wird. Nämlich einzelne Datenfelder, die durch Kommas voneinander getrennt sind. Jede Zeile in so einer Datei ergibt einen Datensatz und jeder Datensatz muss gleich viele Datenfelder enthalten.
Als Trennzeichen (Delimeter), wird auch oft ein Semikolon, ein TAB oder auch eine feste Spaltenbreite verwendet. Feste Spaltenbreite bedeutet, jedes Datenfeld hat z.B. 10 oder 24 Zeichen länge. Nicht benötigter Platz wird mit Leerzeichen aufgefüllt.
Diese Konventionen für den Aufbau einer CSV Datei wurden festgelegt, um eine einfache Möglichkeit zu haben einem verarbeitendem Programm Daten zu übergeben. Das verarbeitende Programm muss einfach nur wissen, wie die CSV Datei aufgebaut ist.
Wenn Du also eine CSV Datei in Excel öffnest, dann hast Du sie bereits mit Excel verarbeitet. Du hast sie nämlich implizig importiert. Excel erkennt bei Standard CSVs selbständig den Aufbau und übernimmt die Daten richtig in die Zellen einer Tabelle. Du kannst danach zwar alles mit den Daten in Excel machen, sofern Du die geöffnete Datei aber wieder als CSV speicherst, werden ausschließlich (einzeilige) Änderungen am Text in den Zellen übernommen. Formatierungen wie Fettdruck oder Einfärbungen usw. können in einer CSV Datei nicht gespeichert werden.
Makros schon gar nicht, denn Makros werden in eigenen Dateien abgelegt. Man sieht das nur nicht, weil die Excel Formate xlsm und xlsb sogenannte Containerformate sind. Genau genommen handelt es sich bei xlsm, xlsb und xlsx Dateien um ZIP Archive. Hänge mal .zip als Dateiendung an. Dann kannst Du Dir ansehen, was da an einzelenen Dateien drin abgelegt ist. Auch in xlsb kannst Du Makros speichern. Die xlsb Dateien sind in der Regel kleiner als xlsm oder xlsx Dateien.
Viele Grüße,
Zwenn
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Makro und CSV-Datei: Tipps und Tricks


Schritt-für-Schritt-Anleitung

  1. Makro erstellen: Öffne Excel und erstelle ein neues Makro, das die gewünschten Änderungen an der CSV-Datei vornimmt.

  2. CSV-Datei öffnen: Importiere die CSV-Datei in Excel. Das geschieht in der Regel automatisch, wenn Du die Datei öffnest.

  3. Daten bearbeiten: Nehme die notwendigen Änderungen an den Daten vor. Beachte, dass Formatierungen wie Farben oder Schriftarten in einer CSV-Datei nicht gespeichert werden können.

  4. Speichern unter: Speichere die bearbeitete Datei nun als .xlsm, um sowohl die Daten als auch das Makro zu sichern. Gehe dazu auf „Datei“ > „Speichern unter“ und wähle den Dateityp „Excel-Arbeitsmappe mit Makros (*.xlsm)“.

  5. Makro testen: Überprüfe im VBA-Editor, ob dein Makro gespeichert wurde und teste es, indem Du die neue .xlsm-Datei öffnest.


Häufige Fehler und Lösungen

  • Problem: „CSV-Datei speichert Änderungen nicht“.

    • Lösung: Stelle sicher, dass Du die Datei als .xlsm speicherst, da CSV-Dateien keine Formatierungen und Makros behalten können.
  • Problem: Makro fehlt nach dem Speichern.

    • Lösung: Speichere die Datei im richtigen Format (z.B. .xlsm), um den Verlust des Makros zu vermeiden.
  • Problem: Unklarheit über den Unterschied zwischen Excel- und CSV-Dateien.

    • Lösung: Der Hauptunterschied ist, dass CSV-Dateien nur Textdaten speichern und keine Formatierungen oder Makros unterstützen.

Alternative Methoden

  • Daten importieren: Anstatt die CSV-Datei direkt zu bearbeiten, importiere die Daten in eine neue Excel-Datei, bearbeite sie dort und exportiere sie dann als .xlsm.

  • Makro-Masterdatei: Erstelle eine Masterdatei, in der alle deine Makros gespeichert sind. Importiere die CSV-Daten in diese Datei und bearbeite sie, bevor Du sie als neue Excel-Datei speicherst.


Praktische Beispiele

  • Beispiel 1: Angenommen, Du hast eine CSV-Datei mit Verkaufsdaten. Importiere die Datei, wende Dein Makro an, das bestimmte Berechnungen durchführt, und speichere das Ergebnis als .xlsm.

  • Beispiel 2: Wenn Du eine Liste von Kunden hast, die Du in eine CSV-Datei exportieren möchtest, bearbeite die Daten in Excel, bevor Du sie in das CSV-Format speicherst.


Tipps für Profis

  • Nutze die .xlsb-Dateiformat, wenn Du eine kleinere Dateigröße möchtest, da dieses Format effizienter für große Datenmengen ist und auch Makros unterstützt.

  • Halte Deine Makros in einer separaten Datei, um die Übersichtlichkeit zu bewahren und Duplikate zu vermeiden.

  • Teste Deine Makros regelmäßig, um sicherzustellen, dass sie wie gewünscht funktionieren, besonders nach Änderungen.


FAQ: Häufige Fragen

1. Warum kann ich keine Formatierungen in einer CSV-Datei speichern?
CSV-Dateien sind reine Textdateien, die keine Formatierungsinformationen speichern. Daher bleiben nur die reinen Daten erhalten.

2. Was ist der Unterschied zwischen .xlsx und .xlsb?
.xlsx ist ein Standardformat für Excel-Dateien ohne Makros, während .xlsb ein binäres Format ist, das schneller geladen werden kann und Makros unterstützt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige