Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Problem mit Makro-Speichern im CSV-Format





Frage

Hallo zusammen, ich habe eine Excel-Tabelle, die in A1, A2 und A3 jeweils eine Zahl enthält. Jetzt speichere ich die Tabelle im Format CSV („Trennzeichen-getrennt“). So weit so gut. Die Zahlen sind weiterhin auf die drei Zellen verteilt. Jetzt kommt aber mein Problem: Ich möchte die CSV-Datei mit einem Makro aus einer anderen Excel-Datei heraus erstellen und speichern. Die Erstellung des Makros ist kein Problem. Es funktioniert auch zunächst problemlos. Die neue Datei wird angezeigt und gespeichert. Aber jetzt kommt’s: Wenn ich die Datei schließe und danach wieder öffne, befinden sich alle drei Zahlen in der Zelle A1, durch Kommata getrennt. [b]Warum?[/b] Ich verstehe nicht, warum das so ist. Wenn ich die Datei manuell im CSV-Format speichere, funktioniert alles so, wie ich es will: Drei Zahlen in drei Zellen. Aber wenn ich die Operation mit einem Makro steuere, klappt es nicht. Könnt ihr mir vielleicht weiterhelfen? Danke schon mal und Gruß Heiko1985 P.S.: Die zur Speicherung relevanten Zeilen des Makros lauten: [code] ActiveWorkbook.SaveAs Filename:= _ "C:\NeueDatei.csv" _ , FileFormat:=xlCSV, CreateBackup:=False [/code]

Antwort 1 von Arno_Nym

Microsoft's Antwort bei sowas: "It's by design" ;o)

Excel (2003) verwendet beim manuellen Speichern als CSV das System-Trennzeichen aus den Ländereinstellungen (also bei deutsch das Semikolon), jedoch bei Nutzung von VBA-Funktionen das englische CSV-Format, d.h. Komma-getrennt (oft interpretiert als: Comma Separated Values).
Und Komma-getrennte CSVs erkennt dass (deutsche) Excel beim Öffnen wiederrum nicht korrekt :o(

Irgendwo hab ich auch schon VBA-Scripte gesehen, mit denen man das Trennzeichen (Semikolon) selbst definieren kann, find's aber grade nicht... Kannst ja mal selbst noch etwas im I-Net suchen nach "excel vba csv"

Arno

Antwort 2 von Arno_Nym

Ahh, mach mal ein "Local:=True" dran. Dann funktionierts bei Excel2003 mit dem Semikolon.

Wieso bin ich da nich' früher drauf gekommen? :o)

Arno

Antwort 3 von Heiko1985

Danke! Es hat geklappt. Das Makro lautet jetzt:
ActiveWorkbook.SaveAs Filename:="C:\NeueDatei.csv", FileFormat:=xlCSV, _
        CreateBackup:=False, Local:=True



Aber sehr interessant: Wenn ich die Datei mit
ActiveWindow.Close 
schließe, fragt Excel, ob ich die Datei speichern will. Klicke ich jetzt auf Ja, habe ich das gleiche Problem wie zu Anfang beschrieben. Also muss ich entweder auf Nein klicken oder ins Makro ein
SaveChanges:=False
einbauen.

Dann läuft es so, wie ich mir das vorgestellt habe.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: