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