Vba: uma fórmula simples para “se a célula contiver”


Você pode usar a seguinte sintaxe básica para usar uma fórmula para “se a célula contiver” no VBA:

 Sub IfContains()
    Dim i As Integer

    For i = 2 To 8
        If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
        Result = " Contains Turtle "
        Else
        Result = “ Does Not Contain TurtleEnd If
    Range(" B " & i) = Result
    Next i
End Sub

Este exemplo específico verifica se cada célula no intervalo A2:A8 contém “tartaruga” e, em seguida, atribui “Contém uma tartaruga” ou “Não contém uma tartaruga” a cada célula correspondente no intervalo B2:B8 .

Nota : O método Instr verifica se uma string contém outra string e o método LCase converte o texto em minúsculas para realizar uma pesquisa sem distinção entre maiúsculas e minúsculas.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: como usar “Se a célula contém” em VBA

Suponha que temos a seguinte lista de células no Excel, cada uma contendo um texto diferente:

Suponha que queremos verificar se cada célula do intervalo A2:A8 contém o texto “tartaruga” e exibir os resultados nas células correspondentes do intervalo B2:B8 .

Podemos criar a seguinte macro para fazer isso:

 Sub IfContains()
    Dim i As Integer

    For i = 2 To 8
        If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
        Result = " Contains Turtle "
        Else
        Result = “ Does Not Contain TurtleEnd If
    Range(" B " & i) = Result
    Next i
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

A coluna B nos diz se as células correspondentes na coluna A contêm ou não “tartaruga” em algum lugar do texto.

Nota : Você pode encontrar a documentação completa do método VBA Instr aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: Como contar ocorrências de caracteres em uma string
VBA: como verificar se uma string contém outra string

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *