Mit einem Code habe ich bisher Monat für Monat die Zahlenformate einer Menge Zahlen umgewandelt.
Originalwert ist z.B. 76.411,27
hier wird zuerst das Punkt durch nichts ersetzt und dann das Komma durch einen Punkt, da habe ich ich die Zahl, mit der ich weiterrechnen kann.
Plötzlich funktioniert das nicht mehr. Nachfolgend ist der Code und zudem habe ich eine Beispieldatei hochgeladen
https:\/\/www.herber.de/bbs/user/137544.xlsm (mit Code). in der Spalte C sind die "Originalbeträge" und in Spalte A die umgewandelten Beträge. Daraus ist ersichtlich, dass zwar der Punkt ersetzt wird; das Komma wird aber im zweiten Schritt nicht durch den Punkt ersetzt.
Kann mir da jemand weiterhelfen?
Danke, Peter
With WorksheetFunction
If .Count(Range("origBETRAG")) = .CountA(Range("origBETRAG")) Then GoTo Ende 'wenn gleichviel Zahlen wie
'Zellen, dann Umwandlung nicht nötig
ThisWorkbook.Activate
'Texte, die wie Zahlen aussehen z.B. 1.111,19 werden in normale Zahlen umgewandelt und
'anschliessend formatiert - NULL-Werte werden unterdrückt
'Beispielformel =WENN(ISTZAHL(A7);A7;1*WECHSELN(WECHSELN(A7;".";"");",";"."))
Dim myArray, lngI As Long
Dim AWS As Object
Set AWS = Application.WorksheetFunction
myArray = Range("origBETRAG")
For lngI = 1 To UBound(myArray)
'Debug.Print lngI
If AWS.IsNumber(myArray(lngI, 1)) Then
' 'Zahl bleibt unverändert
Else
myArray(lngI, 1) = 1 * Replace(Replace(myArray(lngI, 1), ".", ""), ",", ".")
End If
Next
Range("normBETRAG") = myArray
Ende:
End With
End Sub