Ich habe ein Buchhaltungsprogramm, das CSV-Dateien einlesen kann. Dann habe ich wechselnde Excel-Dateien, die unterschiedlich aufgebaut sind. Ich möchte in der Excel-Datei einen manuell markierten Bereich in eine zweite Datei kopieren und diese unter dem CSV-Format abspeichern. Soweit eigentlich kein Problem, wenn ich es manuell mache. Mit meinem Makro werden leider Beträge immer mit einem "." statt einem "," gespeichert, obwohl ich das Zahlformat bereits in ein Textformat geändert habe. So wird beim Import der CSV-Datei aus 4,40 dann 4.400. Schon schade. Hier meine Prozedur, vielen Dank für Eure Hilfe im voraus.
Sub Fibu_csv()
' Fibu_csv Makro
' Makro am 17.02.2005 von sweniger aufgezeichnet
Dim name As String
Dim text, stil, title As String
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.DisplayAlerts = False
Sheets(Array("Tabelle2", "Tabelle3")).Select
Sheets("Tabelle3").Activate
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
Dim Selektion As Range
Set Selektion = Windows(1).RangeSelection
For Each cell In Selektion
If IsNumeric(cell.Value) Then
cell.NumberFormat = "@"
End If
Next
name = getname()
ChDir "O:\Fibuimport"
ActiveWorkbook.SaveAs Filename:=name, FileFormat:=xlCSV _
, CreateBackup:=False
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
title = "Hinweis"
text = "Die Buchungen wurden im Pfad O:\Fibuimport\ unter dem Namen " & name & " im CSV-Format gespeichert!"
stil = vbInformation + vbOKOnly
MsgBox text, stil, title
End Sub