使用 vba 删除 excel 中的 chr160 个字符

Deleting chr160 characters in excel using vba

在下面的代码中,我想删除文本字符串末尾的 char 16034 字符。

For Column = 12 To 13

    For i = 16 To last_row
        'sString = ("=CODE(160)")
        'Range(Cells(i, Column), Cells(i, Column)).Select
        'Range(Cells(last_row + 1, Column), Cells(last_row + 1, Column)).Value = Replace(Range(Cells(i, Column), Cells(i, Column)).Value, sString, "", 1, -1)

        Set current_cell = Range(Cells(i, Column), Cells(i, Column))
        current_cell.Select

        text_to_change = Range(Cells(i, Column), Cells(i, Column)).Value

        Range(Cells(last_row + 1, Column), Cells(last_row + 1, Column)).Select
        Selection.NumberFormat = "General"
        With Range(Cells(last_row + 1, Column), Cells(last_row + 1, Column))
        .Formula = "=SUBSTITUTE(" & text_to_change & ";CODE(160);" & Chr(34) & Chr(34) & ")"
        .Value = .Value
        End With

    Next i

Next Column

我在这一行遇到错误:

.Formula = "=SUBSTITUTE(" & text_to_change & ";CODE(160);" & Chr(34) & Chr(34) & ")".

错误信息表明:

Run-time error '1004': Application-defined or object-defined error.

你能帮我看看这里出了什么问题吗?

您需要转义您的引号:

.Formula = "=SUBSTITUTE(""" & text_to_change & """;CODE(160);""" & Chr(34) & Chr(34) & """)"