Como usar Visual Basic for Applications para contar as ocorrências de um caractere em uma seleção no Excel

Resumo

No Microsoft Excel, você pode usar uma macro para contar as ocorrências de um caractere específico em uma célula ou intervalo de células. Este artigo contém uma macro de exemplo para contar as ocorrências de um caractere específico em uma célula ou intervalo de células.

Você também pode usar uma fórmula para realizar a tarefa. Se você preferir não usar uma macro, clique nos seguintes números de artigo para exibir os artigos na Base de Dados de Conhecimento Microsoft:

187667 fórmulas para contar as ocorrências de texto, caracteres ou palavras em Excel para Mac

Informações adicionais

A Microsoft oferece exemplos de programação somente para ilustração, sem garantias expressas ou implícitas. Isso inclui, mas não está limitado a, as garantias implícitas de qualidade comercial ou conformidade para uma determinada finalidade. Este artigo supõe que você conhece a linguagem de programação que está sendo demonstrada e as ferramentas usadas nos processos de criação e depuração. Os engenheiros de suporte da Microsoft podem ajudá-lo, fornecendo a explicação da funcionalidade de determinado procedimento, mas não modificarão estes exemplos para fornecer funcionalidade adicional nem criarão procedimentos específicos para atender às suas necessidades específicas.

Procedimento do Visual Basic de Exemplo

O procedimento do Visual Basic a seguir solicita um caractere (ou caracteres), pesquisa pela célula selecionada no momento ou intervalo de células e exibe uma caixa de mensagem mostrando o número total de ocorrências desse caractere ou cadeia de caracteres. Isso funciona para todos os caracteres alfanuméricos.

Dim Count As Integer
Dim Target As String
Dim Cell As Object
Dim N As Integer

Sub Target_Count()
   Count = 0
   Target = InputBox("character(s) to find?")
   If Target = "" Then GoTo Done
      For Each Cell In Selection
         N = InStr(1, cell.Value, target)
         While N <> 0
            Count = count + 1
            N = InStr(n + 1, cell.Value, target)
         Wend
      Next Cell
   MsgBox count & " Occurrences of " & target
Done:
End Sub