VBA-替换字符串中的字符

Srp*_*pic 6 excel vba replace

我有 1 列,应包含金额,但其格式不正确,并且被视为文本。

在此输入图像描述

因此,需要将点替换为空,然后将逗号替换为点。我有代码:

Private Sub Correction_of_dot()
    Dim i As String
    Dim k As String
    i = "."
    k = ""
    Columns("P:P").Replace what:=i, replacement:=k, lookat:=xlPart, MatchCase:=False
End Sub

Private Sub Correction_of_comma()
    Dim i As String
    Dim k As String
    i = ","
    k = "."
    Columns("P:P").Replace what:=i, replacement:=k, lookat:=xlPart, MatchCase:=False
End Sub
Run Code Online (Sandbox Code Playgroud)

但它什么也没做...没有错误,只是加载,然后什么也没有发生。你能告诉我,我做错了什么或者我可以做得更好吗?

非常感谢!

Sub*_*eer 1

根据我的区域设置,点用作小数分隔符,逗号用作千位分隔符。话虽如此,以下代码对我有用并产生预期的输出。

为了测试代码,我从网页复制了数字并粘贴到工作表上,它们如下所示......

在此输入图像描述

代码:

Sub Test()
With Range("P:P")
    .Replace ".", ""
    .Replace ",", "."
    .NumberFormat = "0.00"
End With
End Sub
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述