Como utilizar o Visual Basic for Applications para contar as ocorrências de um caráter numa seleção no Excel

Resumo

No Microsoft Excel, pode utilizar uma macro para contar as ocorrências de um caráter específico numa célula ou intervalo de células. Este artigo contém uma macro de exemplo para contar as ocorrências de um caráter específico numa célula ou intervalo de células.

Também pode utilizar uma fórmula para realizar a tarefa. Se preferir não utilizar uma macro, clique nos seguintes números de artigo para ver os artigos na Base de Dados de Conhecimento Microsoft:

187667 Fórmulas para contar as ocorrências de texto, carateres ou palavras Excel para Mac

Mais Informações

A Microsoft fornece exemplos de programação apenas a título informativo, sem qualquer garantia expressa ou implícita, incluindo, sem limitações, as garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que o utilizador está familiarizado com a linguagem de programação demonstrada e as ferramentas utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às suas necessidades específicas.

Procedimento Sample Visual Basic

O seguinte procedimento do Visual Basic pede-lhe um caráter (ou carateres) e, em seguida, procura na célula ou intervalo de células atualmente selecionado e apresenta uma caixa de mensagem a mostrar o número total de ocorrências nesse caráter ou cadeia de carateres. Isto funciona com todos os carateres 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