Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1092to1096
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CSV selbst erstellt - Komma statt Punkt

CSV selbst erstellt - Komma statt Punkt
Philipp
Hallo an alle!
Ich erzeuge über ein - im Archiv gefundenes - Makro aus den Daten eine CSV-Datei.
Für die verschiedenen Spalten brauch ich eigene Formatierungen (zB Spalte 2: Datumsformat mit ".", klappt).
Wie bekommen ich es hin, dass er bei den Werten (Spalten 4, 5 und 6) ein Komma als Dezimaltrennzeichen verwendet anstatt eines Punktes? Leider kennen ich dafür erforderlichen Befehle nicht ...
Anbei der Code, wie ich ihn bisher habe!
Danke schon vorab für jede Hilfe!
LG Philipp
===
Sub CSVExport()
Dim sFile As Variant, msgAntwort As Variant
Dim Daten As Range, Zeile As Object, Zelle As Object
Dim strTemp As String
On Error GoTo errorhandler
With ActiveSheet
ChDrive (ThisWorkbook.Path)
ChDir (ThisWorkbook.Path)
SendKeys "{ENTER}"
sFile = Application.GetSaveAsFilename(InitialFileName:="TRDB--" & Format(Date, "YYYY-MM-DD") _
_
& "--" & VBA.Format(VBA.Time, "hh-mm-ss") & ".csv", _
FileFilter:="CSV-Datei (*.csv), *.csv") '& vbCrLf
Set Daten = .UsedRange
Close
Open sFile For Output As #1
For Each Zeile In Daten.Rows
If Zeile.Row > .Range("A65536").End(xlUp).Row Then
MsgBox "Die Datei wurde erfolgreich exportiert.", vbInformation, "Export  _
erfolgreich"
Exit Sub
End If
For Each Zelle In Zeile.Cells
If (Zelle.Column = 2) And Zelle  "" Then
strTemp = strTemp & CStr(Format(Zelle, "DD") & "." & Format(Zelle, "MM") _
& "." & Format(Zelle, "YYYY")) & ";"
Else
If (Zelle.Column = 4) Then
strTemp = strTemp & CStr(Zelle.Text) & ";"
Else
strTemp = strTemp & CStr(Zelle.Text) & ";"
End If
End If
Next Zelle
Print #1, Left(strTemp, Len(strTemp) - 1 + (Left(strTemp, 1) = "z"))
strTemp = ""
Next Zeile
Close #1
End With
Exit Sub
errorhandler:
MsgBox "Es ist ein Fehler aufgetreten. Die Datei konnte nicht vollstndig exportiert werden.",   _
_
vbCritical, "Fehlermeldung"
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
nicht nachvollziehbar. Beispiel? owT
29.07.2009 11:08:31
Rudi
AW: nicht nachvollziehbar. Beispiel? owT
29.07.2009 11:30:11
Philipp
Hallo Rudi!
Du hast Recht, mit einem Beispiel geht das einfacher zu erklären:
Ähnlich wie das Datumsformat in Spalte 2 umgewandet wird (in das Format DD.MM.YYYY), brauche ich eine Umwandlung der Werte (zB 2.51) in den Spalten 4, 5 und 6 in Werte mit Komma als Dezimaltrennzeichen (zB 2,51).
Beispiel: Daten gem. Excel-Tabelle:
d 40018 ZAR 10.9133287 10.9287747 10.9442207
Gewünschtes Ergebnis in CSV-Format:
d;24.07.2009;ZAR;10,9133287;10,9287747;10,9442207
Vielen Dank schon vorab!
LG Philipp
AW: CSV selbst erstellt - Komma statt Punkt
29.07.2009 11:33:33
Philipp
Hallo Bertram!
Danke, das hatte ich auch gefunden - leider kann ich den Code nicht nachvollziehen und daher nicht auf meinen Bedarf anpassen. Unter anderem speichere ich die Datei mit Datum und Uhrzeit (inkl. Sekunden) ab, so dass ich nicht mal sicher bin, wie ich diese Datei wieder öffnen kann ...
Andere Vorschläge?
Trotzdem Dank!
LG Philipp
AW: CSV selbst erstellt - Komma statt Punkt
29.07.2009 11:37:46
Rudi
Hallo,
teste mal:
      For Each Zelle In Zeile.Cells
Select Case Zelle.Column
Case 2
If Zelle  "" Then
strTemp = strTemp & Format(Zelle, "DD.MM.YYYY") & ";"
Else
strTemp = strTemp & ";"
End If
Case 4 To 6
strTemp = strTemp & Replace(Zelle.Text, ".", ",") & ";"
Case Else
strTemp = strTemp & Zelle.Text & ";"
End Select
Next Zelle

Gruß
Rudi
Anzeige
AW: CSV selbst erstellt - Komma statt Punkt
29.07.2009 13:45:57
Philipp
Hallo Rudi!
Herzlichen Dank! Ich habe ein paar kleine Ergänzungen gemacht - läuft jetzt perfekt!
Schönen Tag noch!
LG Philipp

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige