habe ein Problemchen mit einer VBA Anwendung in Excel und hoffe hier Hilfe zu bekommen :-)
Ich habe eine xlsx-Datei die ich seither erfolgreich mit dem nachfolgenden Code, als Csv (UTF8) gespeichert habe:
**************************************************************************************************************************
Sub CSV_Speichern()
Dim fsT As Object, sFilename As Variant, tmpStr As String
Dim lS As Long, lZ As Long, l As Long
Dim SrcRg As Range
'Pfad und Name der zu erstellenden Datei
sFilename = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
If Selection.Cells.Count > 1 Then
Set SrcRg = Selection
Else
Set SrcRg = ActiveSheet.UsedRange
End If
With SrcRg
For lZ = 1 To .Rows.Count
For lS = 1 To .Columns.Count '- 1 ' Das -1 ist evtl.notwendig wenn die Anzahl der Spalten in der Liste nicht stimmt
tmpStr = tmpStr & """" & .Cells(lZ, lS) & """;"
Next lS
tmpStr = Left(tmpStr, Len(tmpStr) - 1) & vbCrLf
Next lZ
End With
Set fsT = CreateObject("ADODB.Stream")
fsT.Type = 2 'Stream-Typ: Text/String
fsT.Charset = "utf-8" 'Zeichensatz
fsT.Open 'Stream öffnen
fsT.WriteText tmpStr 'Daten schreiben
fsT.SaveToFile sFilename, 2 'Datei speichern
Set fsT = Nothing
Windows("Übersetzungsliste.xlsx").Close False
End Sub
***********************************************************************************************************
Nun habe ich meine xlsx um 2 Spalten erweitert, von denen eine Zahlenwerte mit 2 Dezimalstellen enthält.
Ich möchte diese Zahlen gerne mit den 2 Dezimalstellen in die CSV übernehmen.
Mit meinem og. Code funktioniert das nicht und ich habe keine Ahnung wie ich es anstellen könnte.
Im Moment verwende ich UTF-8 mit Textqualifizierer, auf die ich aber beim Speichern auch verzichten könnte.
Was mich wundert ist daß die manuelle Speicherung der Datei in Excel als csv(UTF-8) mit erhalt des Zahlenformats funktioniert.
Nur mit VBA klappt es nicht.
Für Tipps wäre ich sehr dankbar.
Vielen Dank im Voraus
Gruß Oliver