Я пытаюсь написать макрос VBA, который берет одну букву алфавита из активной ячейки и заменяет ее буквой на пять позиций вперед (т.е. «a» становится «f», , «x» становится «c»). Это нужно для декодирования файла зашифрованного текста, где все буквы сдвинуты назад на пять позиций.Изменение значения символа активной ячейки в Excel VBA
До сих пор я пытался использовать значение ASCII буквы и преобразовывать ее из этого целого обратно в символ, но это, похоже, не работает (ошибка времени выполнения 13), и я не могу не задаться вопросом, есть ли более эффективным способом. Вот то, что я до сих пор:
Sub DECODER()
Worksheets("Sheet1").Activate
Dim What As String
What = ActiveCell.Value
Dim dCode As String
If What = "" Then
dCode = What
Else
dCode = Chr(Asc((What) + 5))
End If
ActiveCell.Value = dCode
End Sub
У вас есть скобка в неправильных местах 'dCode = Chr (Asc (Что) + 5)' –