Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Datei als CSV exportieren - Komma statt Semikolon als Trennzeichen

3,425 views
Skip to first unread message

Maria Scillano

unread,
Apr 6, 2009, 4:07:54 AM4/6/09
to
Hallo.

Ich möchte im Excel eine Datei als CSV exportieren, jedoch wird mir immer
wieder Semikolon zwischen den Spalten ausgegeben, obwohl ich gerne
stattdessen ein Komma gerne hätte.
Wo muss ich es einstellen?

Ich habe bisher unter Regionale Optionen in der Systemsteuerung geändert,
das hat aber keine Abhilfe gebracht.

Ich möchte auch nicht die erstellte Datei nachbearbeiten, es soll schon mit
Komma statt Semikolon als Trennzeichen rauskommen.

thomas...@gmail.com

unread,
Apr 6, 2009, 4:50:20 AM4/6/09
to
Grüezi Maria

On 6 Apr., 10:07, Maria Scillano <Maria_Scill...@yahoo.com> wrote:
>
> Ich möchte im Excel eine Datei als CSV exportieren, jedoch wird mir immer
> wieder Semikolon zwischen den Spalten ausgegeben, obwohl ich gerne
> stattdessen ein Komma gerne hätte.
> Wo muss ich es einstellen?

Mit welchen Sprach-Einstellungen im Betriebssystem arbeitest Du denn?

Excel richtet sich stark nach diesen Einstellungen und das ist auch
gut so.

> Ich habe bisher unter Regionale Optionen in der Systemsteuerung geändert,
> das hat aber keine Abhilfe gebracht.
>
> Ich möchte auch nicht die erstellte Datei nachbearbeiten, es soll schon mit
> Komma statt Semikolon als Trennzeichen rauskommen.

Wenn Du abweichende Ausgaben in die .CSV willst, dann stellen im BS
die Sprache temporär auf Englsich(USA) um und speichre deine Mappe.

Oder aber Du speicherst das Tabellenblatt per VBA, das ist dann
standardmässig in der VBA 'Original-Sprache' und liefert das Komma als
Spaltentrenner.


Sub SaveCSV_a()
Dim a As Variant
Dim b() As String
Dim D() As String
Dim Z As Long
Dim S As Byte
Dim R As Long
Dim C As Byte

'Speicherpfad eintragen
Const Path As String = "C:\Test\"
'Dateiname eintragen
Const filename As String = "Test2"
'Dateiendung anpassen (.txt, .csv oder andere)
Const Extension As String = ".TXT"
'Trennzeichen anpassen (Semikolon, Komma oder andere)
Const Separator As String = ";"
'Texerkennungszeichen anpassen (kann meist so bleiben)
Const Wrapper As String = """"

'Zu speichernden Bereich eintragen z.B:
'Worksheet("DeinTabellenblatt").UsedRange
'Worksheet("DeinTabellenblatt").Range("A1:B10")

a = ActiveSheet.UsedRange

If Not IsEmpty(a) Then
Z = UBound(a, 1)
S = UBound(a, 2)
ReDim b(S - 1)
ReDim D(Z - 1)
For R = 1 To Z
For C = 1 To S
If InStr(1, a(R, C), Separator) > 0 Then
'Rows whith cells including the Separator
'put in Wrapper
b(C - 1) = Wrapper & a(R, C) & Wrapper
Else
b(C - 1) = a(R, C)
End If
Next C
D(R - 1) = Join(b(), Separator)
Next R
Open Path & filename & Extension For Output As #1
Print #1, Join(D(), vbCrLf)
Close #1
End If
End Sub


--
Mit freundlichen Grüssen

Thomas Ramel
- MVP für MS-Excel -

Bernd P

unread,
Apr 6, 2009, 5:07:59 AM4/6/09
to

Maria Scillano

unread,
Apr 6, 2009, 5:22:36 AM4/6/09
to
Am Mon, 6 Apr 2009 01:50:20 -0700 (PDT) schrieb thomas...@gmail.com:

> Wenn Du abweichende Ausgaben in die .CSV willst, dann stellen im BS
> die Sprache temporär auf Englsich(USA) um und speichre deine Mappe.

Leider hat es keine Abhilfe gebracht.

Danke, jedoch diese Lösung ist mir zu kompliziert. Gibt es nicht etwas
einfacheres, für einen ganz normalen User !?

Maria Scillano

unread,
Apr 6, 2009, 5:23:18 AM4/6/09
to

Danke. Suche jedoch eher eine einfache Lösung, weil ich eine ganz normale
Benutzerin bin.

thomas...@gmail.com

unread,
Apr 6, 2009, 5:47:31 AM4/6/09
to
Grüezi Maria

On 6 Apr., 11:22, Maria Scillano <Maria_Scill...@yahoo.com> wrote:
>
> > Wenn Du abweichende Ausgaben in die .CSV willst, dann stellen im BS
> > die Sprache temporär auf Englsich(USA) um und speichre deine Mappe.
>
> Leider hat es keine Abhilfe gebracht.

Hmmm, das kann ich mir nun kaum vorstellen.

Wie genau sieht deine Mappe denn aus?
Welche Inhalte und Formate hat sie?

Welche Sprachen hast Du installiert - BS und Office?

Welche Einstellungen hast Du in den Excel-Optionen unter
'International' vorgenommen?

Wie genau bist Du vorgegangen beim Speichern der .CSV-Datei?


Die VBA-Routine ist nicht sonderlich schwer, einmal eingepflegt kannst
Du sie beliebig aufrufen und verwenden.

Carlos Naplos

unread,
Apr 6, 2009, 2:32:47 PM4/6/09
to
Maria Scillano schrieb:

> Hallo.
>
> Ich möchte im Excel eine Datei als CSV exportieren, jedoch wird mir immer
> wieder Semikolon zwischen den Spalten ausgegeben, obwohl ich gerne
> stattdessen ein Komma gerne hätte.

Hallo Maria

Öffne Deine csv-Datei mit einem Texteditor, der "Suchen und ersetzen" kann, und lasse alle Semikolons durch Kommas ersetzten.

Wenn Du Excel hast, hast Du sicher auch Word. "Suchen und ersetzen" kannst Du in Word mit Strg+h aufrufen. Bestätige beim Speichern die Warnungen, dass Formatierungen verloren gehen!

Gruß
Carlos

frankarendt-theilen

unread,
Apr 6, 2009, 5:49:36 PM4/6/09
to
Hallo Carlos,
oder er bemüht VBA. Eine mögliche Routine wäre:

Sub PrintCSV()
Dim rngBereich As Range
Dim rngZeile As Range
Dim rngZelle As Range
Dim strTemp As String
'passe die folgenden Konstanten an
Const strPfad As String = "LW:\DeinPfad"
Const strDateiname As String = "Dateiname"
Const strExtension As String = ".CSV"
Const strTrennzeichen As String = ","

Set rngBereich = ActiveSheet.UsedRange
Open strPfad & strDateiname & strExtension For Output As #1

For Each rngZeile In rngBereich.Rows
For Each rngZelle In rngZeile.Cells
If InStr(1, rngZelle.Text, strTrennzeichen) > 0 Then
'Zellen, die ein Semikolon beinhalten,
'in Anführungsstriche setzen
strTemp = strTemp & """" & CStr(rngZelle.Text) & _
"""" & strTrennzeichen
Else
strTemp = strTemp & CStr(rngZelle.Text) & _
strTrennzeichen
End If
Next
Print #1, strTemp
strTemp = ""
Next

Close #1
Set rngBereich = Nothing
End Sub


Mit freundlichem Gruß aus der Rattenfängerstadt Hameln
Frank Arendt-Theilen

--
(ehem. MVP für Excel)
Website: www.xl-faq.de

Andreas Killer

unread,
Apr 7, 2009, 3:07:04 AM4/7/09
to
On 6 Apr., 11:22, Maria Scillano <Maria_Scill...@yahoo.com> wrote:

> Danke, jedoch diese Lösung ist mir zu kompliziert. Gibt es nicht etwas

> einfacheres, für einen ganz normalen User !?- Zitierten Text ausblenden -
Naja, das läßt sich recht leicht zum Add-In umbauen, da kannst Du dann
draufklicken.

Zuerst hier das Add-In runterladen:
http://rapidshare.de/files/46579487/CSV.xla.html

Dann dieses Installieren, wie's geht liest Du hier:
http://www.online-excel.de/excel/singsel.php?f=114

Und dann solltest Du in Deinem Menü unter Datei einen Eintrag
"Speichern als CSV" finden.

Funktionert alles nach Deiner Zufriedenheit?

Andreas.

0 new messages