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 Turtle ”
End 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 Turtle ”
End 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