Excel macht aus , einen Punkt

Bennyaa

Lieutenant
Registriert
März 2007
Beiträge
828
Hi Leute. Ich kopiere einen Bereich in ein neues Workbook.
Nachdem das Kopieren abgeschlossen ist.
Steht in einer Zelle der Wert 10,12345 drin.

Danach wird das ganze als csv abgespeichert. allerdings steht danach in der csv der wert
10.12345 drin. Also wurde das komma durch den punkt ersetzt.
Die Trennzeicheneinstellung steht sowohl im windows, also auch im excel auf komma.
Wieso speichert er das nicht einfach mit der ländereinstellung ab?

Hier mein soucecode des VBA-Scrips in excel

Code:
'Rezept 10 Schritte 1-100 Tabelle Inhalte in neues Blatt kopieren für csv
    Range("F" & Range("I100"), "F" & Range("J100")).Select
    'Range("F79:F5278").Select
    Selection.Copy
    Workbooks.Add
    
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
      
 Range("A500").Select
 
'Programm Rezept 10 als Auot1.CSV Datei fuer WinCC flexible speichern
 
   ActiveWorkbook.SaveAs Filename:=Dateipfad, FileFormat:= _
         xlCSVMSDOS, CreateBackup:=False
    
  ActiveWorkbook.Close SaveChanges:=False
    
    Range("E6").Select
     
     ActiveWorkbook.Save
    
    Application.Quit
 
In VBA ist alles auf Englisch und auf Englisch sind nunmal die zwei Zeichen Beistrich und Punkt in den Zahlen genau anders rum, d.h.
Deutsch: 1,23 -> Englisch: 1.23
Deutsch: 1.000 -> Englisch: 1,000

Soweit ich weiß musst du dir den Export als CSV-Datei selbst programmieren, damit er den Beistrich auch als Beistrich belässt.
 
Hallo Bennyaa,

also, wenn im Tabellenblatt eine korrekte Anzeige ist, wird auch die *.csv mit Komma sein. Insofern ist dein Code in Ordnung.

Wie hast du denn geprüft, dass in der *.csv Punkte statt Komma eingetragen sind?
 
Hast du das auch selbst probiert?
Es ist nämlich ein Unterschied ob man eine Datei über das Menü "Speichern unter" oder eben mit VBA als CSV-Datei speichert.
"Speichern unter" beachtet die regionsspezifischen Einstellungen bezüglich Trennzeichen etc, VBA hingegen kennt nur Englisch.
Ich habe einen Screenshot angehängt mit den zwei unterschiedlichen Ergebnissen.
 

Anhänge

  • csv.png
    csv.png
    29 KB · Aufrufe: 170
der name csv sagt ja eigentlich schon aus wie die Daten getrennt sind oder sein müssen :)

man sollte in Excel bzw. VBA sowieso die amerikanische Schreibweise verwenden (als heavy user:D)
 
diablobase schrieb:
Hast du das auch selbst probiert?
OK, hatte ich nicht. Ich war einfach zu müde. Ergo: Mein Fehler.

Dennoch sind diverse Antworten hier hart an der Realität vorbei :evillol:.
Code:
ActiveWorkbook.SaveAs Filename:=Dateipfad, FileFormat:= _
xlCSVMSDOS, CreateBackup:=False [B][COLOR="Red"]Local:= True[/COLOR][/B]
bringt aber das gewünschte Ergebnis. (Das Local am Ende macht's aus!)

Und jetzt habe ich es wirklich ausprobiert :D. Und [F1] hat mir auch geholfen.
 
Zurück
Oben