VBA-替换字符串中的字符

标签 vba excel replace

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

enter image description here

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

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

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

非常感谢!

最佳答案

您可以循环遍历该列并使用替换功能。

Dim i As Long
Dim finalRow As Long

finalRow = SheetX.Cells(Rows.Count, 1).End(xlUp).Row

For i = 1 to finalRow

   SheetX.Cells(i, 1).Value = Replace(SheetX.Cells(i, 1).Value, ".", "")
   SheetX.Cells(i, 1).Value = Replace(SheetX.Cells(i, 1).Value, ",", ".")

Next i

注意:我没有对此进行测试 - 但它应该可以工作。 另外:将 SheetX 更改为任何合适的工作表 CodeName,并根据需要更改列引用(本例中为第 1 列)

关于VBA-替换字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46663119/

相关文章:

excel - 我可以让这个宏更快吗?

excel - 为什么我的循环没有遍历所有值?

excel - 连接或组合多个值并保留字体和颜色

excel - 不要在单元格中显示公式

php - Bash 字符串删除特定字符

VBA,如果字符串包含某个字母

html - 在 HTA (VBS) 中动态更新表行

python - 如何在python上用pywinauto打开一个excel文件?

arrays - Postgres array_replace() 函数替换子数组

Java Regex 替换由非字母数字字符包围的字符串