Vba: como contar células com texto específico


Você pode usar a seguinte sintaxe básica para contar o número de células em um intervalo contendo texto específico usando VBA:

 SubCountCellsWithText ()
    Range(" D2 ") = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
End Sub

Este exemplo específico conta o número de células no intervalo A2:A13 que contém “avs” e atribui o resultado à célula D2 .

Nota : Asteriscos ( * ) são usados como curingas na função Countif .

Se você quiser exibir o número de células em uma caixa de mensagem, poderá usar a seguinte sintaxe:

 SubCountCellsWithText ()

    Dim cellCount As Integer
    
    'Calculate number of cells that contain 'avs'
    cellCount = WorksheetFunction.CountIf(Range(" A2:A13 "), "* avs* ")
    
    'Display the result
    MsgBox "Cells that contain avs : " & cellCount
End Sub

Os exemplos a seguir mostram como usar cada um desses métodos na prática com o seguinte conjunto de dados no Excel que contém informações sobre vários jogadores de basquete:

Exemplo 1: contar células com texto específico usando VBA e exibir os resultados na célula

Suponha que queiramos contar o número de células que contêm “avs” no nome da equipe e exibir os resultados em uma célula específica.

Podemos criar a seguinte macro para fazer isso:

 SubCountCellsWithText ()
    Range(" D2 ") = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
End Sub

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

Observe que a célula D2 contém o valor 5 .

Isso nos diz que existem 5 células no intervalo A2:A13 que contêm “avs” no nome da equipe.

Exemplo 2: contar células com texto específico usando VBA e exibir resultados na caixa de mensagem

Suponha que, em vez disso, queiramos contar o número de células que contêm “avs” e exibir os resultados em uma caixa de mensagem.

Podemos criar a seguinte macro para fazer isso:

 SubCountCellsWithText ()

    Dim cellCount As Integer
    
    'Calculate number of cells that contain 'avs'
cellCount = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
    
    'Display the result
MsgBox "Cells that contain avs : " & cellCount
End Sub

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

A caixa de mensagem informa que existem 5 células que contêm “avs” no nome da equipe.

Recursos adicionais

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

VBA: uma fórmula simples para “Se a célula contiver”
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 *