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