Se existir uma cadeia de texto, selecione a célula que contém a cadeia de texto

0

Eu gravei uma macro que encontra uma string de texto e depois a exclui. Meu problema é que às vezes essa string de texto não existe. Eu apreciaria alguma ajuda em mudar a macro para verificar se a string de texto existe e depois selecioná-la. Abaixo está o que eu tenho atualmente. Agradecemos antecipadamente.

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

1 resposta

1

Range.Find retorna Nothing quando o termo de pesquisa não pode ser encontrado, portanto, isso deve funcionar:

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

Você pode deixar de fora found.Activate se não quiser mover o cursor para onde a string foi encontrada.

    
por 11.01.2018 / 00:22