Vba: como verificar se uma string contém outra string


Você pode usar a função Instr() em VBA para verificar se uma string contém outra string.

Esta função usa a seguinte sintaxe básica:

Instr(início, string1, string2,…)

Ouro:

  • start : A posição inicial da pesquisa
  • string1 : a string a ser pesquisada
  • string2 : a string que você está tentando encontrar

O exemplo a seguir mostra como usar esta função na prática.

Exemplo: use VBA para verificar se string contém outra string

Digamos que temos o seguinte conjunto de dados no Excel que contém informações sobre vários times de basquete:

Agora digamos que queremos verificar se cada string na coluna Equipe contém “avs” em algum lugar da string.

Podemos usar a seguinte sintaxe em VBA para verificar se cada string na coluna Team contém “avs” e, em caso afirmativo, retornar a linha inteira nas colunas D e E:

 Sub StringContains()
Dim i As Integer , i_num As Integer

For i = 2 To 9
    If InStr(1, LCase(Range(" A " & i)), " avs ") <> 0 Then
        i_num = i_num + 1
        Range(" D " & i_num & " :E " & i_num) = Range(" A " & i & " :B " & i).Value
    End If
Next i
End Sub

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

Observe que cada uma das linhas que contém a string “avs” em algum lugar da coluna Equipe é retornada nas colunas D e E.

Neste exemplo, apenas duas equipes (Mavs e Cavs) continham “avs” na coluna Equipe.

Para procurar uma string diferente, basta substituir “avs” no código acima pela string de sua escolha.

Nota nº 1: No código, usamos For i = 2 to 9 , pois as células A2 a A9 continham as strings nas quais estávamos interessados. Sinta-se à vontade para alterar esse intervalo dependendo do intervalo de células que você está procurando.

Nota nº 2 : você pode encontrar a documentação completa da função Instr() no VBA aqui .

Recursos adicionais

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

VBA: Como contar ocorrências de caracteres em uma string
VBA: Como contar o número de linhas no intervalo
VBA: Como calcular o valor médio do intervalo

Add a Comment

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