Помогите, пожалуйста, с задачкой.
Как найти ячейку со значением, например, город, и очистить эту ячейку, а также зависимые с ней ячейки, расположенные на той же строке, что и найденная ячейка в диапазоне G8:G43 и E8:E43?
Этот код очищает все найденные ячейки со значением город, но не очищает те ячейки, которые находятся в той строке, что и ячейка со значением город.
Sub Поиск()
Dim c As Range
For Each c In [I8:I43]
If c.Value Like "город" Then
c.Value = ""
End If
Next
End Sub
Может быть так или есть код покрасивее? При этом остается проблема: если курсор не находится в ячейке диапазона I8:J20, появляется сообщение об ошибке. Ошибка появляется и тогда, когда в ячейках больше нет данных в диапазоне I8:J20. Как это все исправить?
Public Sub Поиск2()
Dim rng As Range
Set rng = Range("I8:J20").Find(What:="город", After:=ActiveCell, LookIn:=xlValues, _
MatchCase:=True)
Range("I8:J20").FindNext(After:=ActiveCell).Activate
If Not (rng Is Nothing) Then
Cells(ActiveCell.Row, ActiveCell.Column - 1).Select
ActiveCell = ""
Cells(ActiveCell.Row, ActiveCell.Column - 1).Select
ActiveCell = ""
Cells(ActiveCell.Row, ActiveCell.Column + 4).Select
ActiveCell = ""
Else
MsgBox "Не найдено значение"
End If
End Sub
Ниже все в одном файле