Удаление символов chr160 в excel с помощью vba - PullRequest
1 голос
/ 25 февраля 2020

В следующем коде я хотел бы удалить символы char 160 и 34 в конце текстовой строки.

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) & ")".

В сообщении об ошибке указывается:

Ошибка времени выполнения «1004»: ошибка приложения или объекта.

Не могли бы вы помочь мне, что здесь не так?

1 Ответ

1 голос
/ 25 февраля 2020

Вам необходимо уйти от кавычек:

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