Csv - Feldtrenner

Moin,

wie kann ich beim generieren einer csv den Feldtrenner bestimmen?
Also bei Buttonklick wird eine csv erstellt. Das Problem ist, dass im deutschen ein „;“ und im amerikanischen ein „,“ erscheint. Ich möchte aber immer das „;“ haben. Ideen?

Steffi

Private Sub CommandButton1\_Click()

Dim sOld As String
Dim sFile As String

sOld = ThisWorkbook.FullName
sFile = sOld
Mid$(sFile, Len(sFile) - 2, 3) = "csv"

Range("A5:N255").Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste

Application.CutCopyMode = False
flagErr = Err
On Error Resume Next

ActiveWorkbook.SaveAs Filename:=sFile, FileFormat:=xlCSV, \_
CreateBackup:=False


If Err = 0 Then
 MsgBox "Datei unter " & ActiveWorkbook.FullName & " gespeichert"
Else
 MsgBox "nix gemacht!"
End If

Err = flagErr
On Error GoTo 0

ActiveWorkbook.Close SaveChanges:=False

End Sub

Hi Steffi,

ob ein Komma oder ein Semicolon geschrieben wird, hängt von den regionalen Einstellungen im Windows ab, genauer (unter XP):

Systemsteuerung >
Regions- und Sprachoptionen >
Regionale Einstellungen >
Standards und Formate >
Anpassen >
Zahlen > Listentrennzeichen.

Mit Prozeduren kenne ich mich nicht aus, deshalb kann ich mit der passenden Variablen für das Listentrennzeichen leider nicht dienen.

Gruß Ralf

wie kann ich beim generieren einer csv den Feldtrenner
bestimmen?
Also bei Buttonklick wird eine csv erstellt. Das Problem ist,
dass im deutschen ein „;“ und im amerikanischen ein „,“
erscheint. Ich möchte aber immer das „;“ haben. Ideen?

Hi Steffi,

Private Sub CommandButton1\_Click()
exportfile = Left(ThisWorkbook.FullName, Len(ThisWorkbook.FullName) - 2) & "csv"
Dateinummer = FreeFile
Set TB = ThisWorkbook.Worksheets(1)
Open exportfile For Output As #Dateinummer
For z = 5 To 255
 For s = 1 To 14
 TMP = TMP & CStr(TB.Cells(z, s).Text) & ";"
 Next s
 TMP = Left(TMP, Len(TMP) - 1)
 Print #Dateinummer, TMP
 TMP = ""
Next z
Close #Dateinummer
End Sub