Я записал макрос, который находит текстовую строку, а затем удаляет. Моя проблема в том, что иногда эта текстовая строка не существует. Я был бы признателен за помощь в изменении макроса, чтобы проверить, существует ли текстовая строка, а затем выбрать его. Ниже то, что у меня сейчас есть. Заранее спасибо.

Cells.Find(What:="Test" _
, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:= _
xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) _
.Activate
Selection.ClearContents

1 ответ1

1

Range.Find возвращает Nothing когда поисковый запрос не может быть найден, поэтому это должно работать:

Set found = Cells.Find(What:="Test" _
, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:= _
xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)

If Not found Is Nothing Then
    found.Activate
    found.ClearContents
End If

Вы можете оставить found.Activate если вы не хотите перемещать курсор туда, где находится строка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .