# in Excel *.xls file als *.csv file abspeichern mit "Kommas"



## olitheis (16 März 2006)

Hallo zusammen,
ich hoffe, mir kann jemand von euch helfen, bin nämlich kurz vor dem Verzweifeln. Ich bin dabei eine Taskliste für einen Barber-Colman Controller zu erstellen. Diese Tasklist wird in Excel erstellt und danach muss ich sie als *.csv Datei abspeichern. Das Abspeichern an sich macht kein Problem, allerdings sind die einzelnen Zellen nachher mit einem Semikolon getrennt,
statt mit einem Komma (kann ich sehen, wenn ich die Datei z.B. mit dem Editor öffne). Weiß vielleicht jemand, ob man irgendwo in Excel
einstellen kann, mit welchem Trennzeichen beim Abspeichern als csv getrennt wird ?
Vielen Dank schon mal
Oli


----------



## Gerhard Bäurle (16 März 2006)

Hallo,

mir ist nicht bekannt, dass man bei Excel das Trennzeichen 
bei CSV- oder TXT-Speicherung vorgeben könnte.

Zur Bearbeitung von CSVs nehme ich immer den CSVed
(Freeware), da kann man die Trennzeichen festlegen.

Viele Grüße

Gerhard Bäurle


----------



## Rainer Hönle (16 März 2006)

Es kann auch an den Ländereinstellungen liegen. Einfach mal mit der rechten Maustaste in das DE im Systray klicken und Eigenschaften aufrufen. Im zweiten Tab gibt es die Möglichkeit das Listentrennzeichen festzulegen. Vielleicht hilft hier die Umstellung. Alternativ mal auf die US-Einstellung wechseln.


----------



## olitheis (16 März 2006)

Danke erstmal,
das war echt ein heißer Tip mit den Ländereinstellungen. Da war bei mir das Semikolon eingetragen. Ich habe es dann auf "," geändert. Hab das ganze dann noch einmal probiert:*.xls datei geöffnet, als *.csv abgespeichert und dann mit dem Editor geöffnet. Leider immer noch das Gleiche, Trennzeichen ist das ";" geblieben .
Hmm noch jemand ne Idee?
Danke
Oli


----------



## seeba (16 März 2006)

olitheis schrieb:
			
		

> Danke erstmal,
> das war echt ein heißer Tip mit den Ländereinstellungen. Da war bei mir das Semikolon eingetragen. Ich habe es dann auf "," geändert. Hab das ganze dann noch einmal probiert:*.xls datei geöffnet, als *.csv abgespeichert und dann mit dem Editor geöffnet. Leider immer noch das Gleiche, Trennzeichen ist das ";" geblieben .
> Hmm noch jemand ne Idee?
> Danke
> Oli



*.csv im Editor öffnen und alle ; durch , ersetzen lassen.


----------



## Rainer Hönle (16 März 2006)

olitheis schrieb:
			
		

> Danke erstmal,
> das war echt ein heißer Tip mit den Ländereinstellungen. Da war bei mir das Semikolon eingetragen. Ich habe es dann auf "," geändert. Hab das ganze dann noch einmal probiert:*.xls datei geöffnet, als *.csv abgespeichert und dann mit dem Editor geöffnet. Leider immer noch das Gleiche, Trennzeichen ist das ";" geblieben .
> Hmm noch jemand ne Idee?
> Danke
> Oli


Hat das Umstellen auf US eine Änderung ergeben?


----------



## Rainer Hönle (16 März 2006)

seeba schrieb:
			
		

> *.csv im Editor öffnen und alle ; durch , ersetzen lassen.


Im Prinzip ja, nur wenn Gleitpunktzahlen enthalten sind, muss hier zuerst das Komma in Punkt ersetzt werden, danach Semikolon in Komma.


----------



## olitheis (16 März 2006)

Das Umstellen auf US hatte (leider) auch nichts gebracht.
Das Ersetzen hat geklappt, allerdings war der file danach irgendwie nicht mehr zu gebrauchen. bevor ich ihn in die Steuerung lade, muss er kompiliert werden, welches jetzt aber immer fehlschlägt.

Normalerweise bekomme ich diese Files aus USA, es könnte also mit den Ländereigenschaften zu tuen haben...

danke nochmal
Oli


----------



## Onkel Dagobert (16 März 2006)

Hallo Oli,

unter Excel oder Windows scheint es leider keine Einstellung zu geben. Falls keine bessere Lösung vorgeschlagen wird, dann versuche mal das Ersetzen mit "Suchen & Ersetzen" von Ingo Straub www.inforapid.de. Das hat in anderen Fällen immer bestens funktioniert. Wahrscheinlich funktioniert das Ersetzen auch mit verschiedenen Hex-Editoren.

Oder guckst du:
http://www.microsoft.com/office/community/de-de/wizard.mspx?query=Trennzeichen&w=1&type=question&dg=&cat=de-de-office-excel&lang=de&cr=DE&pt=f3f7ac8a-4ea0-4c36-bed9-8feae6d75298&catlist=&dglist=&ptlist=&exp=&sloc=de-de


Gruß, Onkel


----------



## Adenauer (16 März 2006)

Ich nutzt für so was immer den PSPad ist ein kostenloser editor der alles hat was man so brauch suchen und ersetzen wäre das einfachste was mir einfällt.

kann es sein das die Felder noch durch " " eingegrenzt werden??


----------



## Oberchefe (16 März 2006)

Das XLS-File als Basis nehmen(nicht das "kaputte" CSV-File). Excel schließen (alle Instanzen, nicht nur die mit dem zu speichernden File). Ländereinstellungen in der Systemsteuerung auf Englisch/US umstellen. XLS-File mit Excel öffnen und als CSV-File abspeichern.


----------



## Oberchefe (17 März 2006)

was noch sein kann(das kenne ich von einem anderen Programm welches auch CSV erwartet, da war der Dr. Watson mein Freund):
Wenn Du versehentlich eine Zelle in Excel verändert hast, die rechts oder unterhalb Deiner Nutzdaten liegt, also wenn Du beispielsweise 4 Spalten Daten hast und in Spalte "E" was verändert hast, macht Excel im CSV-File ein Komma pro Zeile mehr rein (wenn Du unterhalb was verändert hast entsprechend mehr Zeilen von Kommas). Das Problem dabei: die versehentliche Änderung muß nicht sichtbar sein, die versehentliche Betätigung der Leertaste in einer entsprechenden Zelle genügt schon. Das solltest Du aber sehen wenn Du das CSV-File im Editor öffnest.


----------



## Kai (17 März 2006)

Unter Excel 2000 funktioniert bei mir folgendes Makro:


'ORIGINAL MAKRO
Sub SaveCSV()
' Speichert den Inhalt eines Arbeitsblatts als CSV-Datei
' mit wählbarem Trennzeichen und Maskierung von Einträgen

Dim Bereich As Object, Zeile As Object, Zelle As Object
Dim strTemp As String
Dim strDateiname As String
Dim strTrennzeichen As String
Dim strMappenpfad As String

strMappenpfad = ActiveWorkbook.FullName
strMappenpfad = Replace(strMappenpfad, ".xls", ".csv")

strDateiname = InputBox("Wie soll die CSV-Datei heißen (inkl. Pfad)?", "CSV-Export", strMappenpfad)
If strDateiname = "" Then Exit Sub

strTrennzeichen = InputBox("Welches Trennzeichen soll verwendet werden?", "CSV-Export", ",")
If strTrennzeichen = "" Then Exit Sub

Set Bereich = ActiveSheet.UsedRange

Open strDateiname For Output As #1

For Each Zeile In Bereich.Rows
For Each Zelle In Zeile.Cells
If InStr(1, Zelle.Text, strTrennzeichen) > 0 Then
'Zellen, die ein Trennzeichen beinhalten in Anführungsstriche setzen
strTemp = strTemp & """" & CStr(Zelle.Text) & """" & strTrennzeichen
Else
strTemp = strTemp & CStr(Zelle.Text) & strTrennzeichen
End If
Next
If Right(strTemp, 1) = strTrennzeichen Then strTemp = Left(strTemp, Len(strTemp) - 1)
Print #1, strTemp
strTemp = ""
Next

Close #1
Set Bereich = Nothing
MsgBox "Datei wurde exportiert nach" & vbCrLf & strDateiname

End Sub


http://forums.oscommerce.de/lofiversion/index.php?t23373.html

Gruß Kai


----------



## olitheis (20 März 2006)

Hallo,
nochmals danke für eure Mühen.  
Ich habs jetzt gefunden:
Ich hatte ja das Listentrennzeichen von ";" nach "," geändert. Hatte aber nichts gebracht. Dann habe ich heute Morgen MS Project geöffnet und es hat sich beschwerrt, dass das Listentrennzeichen und das Dezimaltrennzeichen gleich wären. Ich habe das Dezimaltrennzeichen dann mal versuchsweise in ein ";" geändert und die xls in csv Geschichte noch einmal probiert. Siehe da, kein Probleme beim Konvertieren und Kompilieren der csv datei.
Excel hat also das Komma nicht als Trennzeichen akzeptiert, weil beim Dezimaltrennzeichen ebenfalls ein Komma eingetragen war.
Danke an Alle
Oli


----------

