AW: Ersetzen - mal wieder ein Problem
02.03.2005 11:02:09
bst
Hallo Steve,
zuerst mal die Korrektur von oben.
Man sollte halt einfach nichts posten, ohne es getestet zu haben.
Dieses geht NUR mit Texten, nicht mit Zahlen:
Sub ErsetzenInText()
Range("A3:A50").Replace What:=",", Replacement:=".", LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False
End Sub
Warum ?
IMHO wird eine Zahl (z.B. 1,2) hier zuerst in einen String gewandelt -> "1,2"
Dann wird das Komma durch einen Punkt ersetzt -> "1.2"
Vor dem Zurückschreiben erkennt Excel hier eine Zahl (im VBA sind Zahlen im US-Format!)
und wandelt diese wieder zurück -> 1.2
Diese Zahl wird nun unter Berücksichtigung des landesspezifischen Trennzeichens zurück
in die Zelle geschrieben. Womit Du wieder ein Komma hast ;-)
So sollte es gehen. Ohne Schleife habe ich es nicht hinbekommen.
Übrigens, ich hab's auf einem deutschen xl2000 verbrochen...
cu, Bernd
--
Sub Ersetzen()
Dim cell As Range
For Each cell In Range("A3:A50")
cell.NumberFormat = "@"
cell.Value = CStr(Replace(cell.Value, ",", "."))
Next
End Sub