我需要使用","
表达式将"."
替换为Replace
。
例如,我有:115,147058823529
它不适用于"."
或其他任何字符
Range("K" & rw).Value = Replace(Range("K" & rw).Value, ",", ".")
结果:115,147058823529
它非常适合".."
Range("K" & rw).Value = Replace(Range("K" & rw).Value, ",", "..")
结果:115..147058823529
我找不到任何解释。
我想让它在"."
数字格式是通用的,我不想弄混。
我什至尝试将","
替换为"m."
,从而得到:115m.147058823529
然后用m
替换""
,得到:115.147058823529
..这真的很奇怪
答案 0 :(得分:1)
“问题”在您使用的区域设置和小数点分隔符中。法语/德语小数点分隔符是逗号,而美国的小数点分隔符是点。
另一方面,VBA仅使用点作为小数点分隔符。因此,VBA用逗号读取数字,并在内部用点将其转换。那就找不到里面的逗号了。
Replace()
本身可以正常运行:
Sub TestMe()
Dim someString As String
someString = "115,147058823529"
someString = Replace(someString, ",", ".")
MsgBox someString
End Sub
其他信息: