Excel VBA Макросы. Поиск значения ячейки с помощью Find и ее перезапись.

Автор Посетитель, 02 апреля 2021, 22:41

Посетитель

Как можно перезаписать значение в ячейке, найденной при помощи метода Find?
Например, нужно найти ячейку, в которой находится слово "яблоко", и записать в эту ячейку слово "груша".

Администратор

Макрос работает так. Макрос ищет только одно вхождение слова "яблоко". Если на листе есть несколько ячеек со словом "яблоко", то будет перезаписана только одна ячейка.
Предполагается, что в ячейке кроме слова "яблоко" других слов нет, то есть делается поиск с галочкой "Ячейка целиком".
Макрос учитывает ситуацию, если на листе нет ячейки со словом "яблоко". Для этого используется перехватчик ошибок On Error.

Макрос
Sub Макрос()
   
    On Error Resume Next
    Cells.Find(What:="яблоко", LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Value = "груша"
    On Error GoTo 0
   
End Sub
[свернуть]