Vba: como contar ocorrências de caracteres em uma string


Você pode usar a seguinte sintaxe básica para contar o número de ocorrências de um caractere em uma string usando VBA:

 Sub CountOccurrences()
    Dim i As Integer
    
    'Specify character to look for
    my_char = "/"
    
    'Count occurrences in each string in B2:B12 and display results in C2:C12
    For i = 2 To 12
        Count = (Len(Range(" B " & i)) - Len(Replace(Range(" B " & i), my_char, ""))) / Len(my_char)
        Range(" C " & i) = Count
    Next i
End Sub

Este exemplo específico conta o número de ocorrências de uma barra ( / ) em cada célula no intervalo B2:B12 e exibe os resultados no intervalo C2:C12 .

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

Exemplo: contar ocorrências de caracteres em uma string usando VBA

Digamos que temos o seguinte conjunto de dados no Excel que mostra os nomes de diferentes jogadores de basquete e as posições que eles podem desempenhar em um jogo:

Suponha que queiramos contar o número de barras ( / ) em cada string na coluna Posição.

Podemos criar a seguinte macro para fazer isso:

 Sub CountOccurrences()
    Dim i As Integer
    
    'Specify character to look for
    my_char = "/"
    
    'Count occurrences in each string in B2:B12 and display results in C2:C12
    For i = 2 To 12
        Count = (Len(Range(" B " & i)) - Len(Replace(Range(" B " & i), my_char, ""))) / Len(my_char)
        Range(" C " & i) = Count
    Next i
End Sub

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

Os valores na coluna C exibem o número de ocorrências de barras nas strings correspondentes na coluna B.

Por exemplo:

  • A string Guard /Forward contém 1 barra.
  • A string Guard contém 0 barras.
  • A string Guard contém 0 barras.
  • A string Avançar/Centro contém 1 barra.

E assim por diante.

Para contar ocorrências de um caractere diferente, basta alterar o caractere da variável my_char na macro.

Recursos adicionais

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

VBA: como verificar se uma string contém outra string
VBA: Como contar o número de linhas no intervalo
VBA: Como escrever funções COUNTIF e COUNTIFS

Add a Comment

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