Visual Basic for Applicationsを使用して Excel で選択範囲内の文字の出現回数をカウントする方法

概要

Microsoft Excel では、マクロを使用して、セルまたはセル範囲内の特定の文字の出現回数をカウントできます。 この記事には、セルまたはセル範囲内の特定の文字の出現をカウントするサンプル マクロが含まれています。

数式を使用してタスクを実行することもできます。 マクロを使用しない場合は、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示します。

187667数式を使用して、Excel for Mac内のテキスト、文字、または単語の出現回数をカウントします

詳細情報

Microsoft は、例示のみを目的としてプログラミング例を提供しており、明示または黙示にかかわらず、いかなる責任も負わないものとします。 これには、市販性または特定の目的との適合性についての黙示の保証も含まれますが、これに限定はされません。 この記事は、説明されているプログラミング言語、手順を作成およびデバッグするために使用されているツールに読者が精通していることを前提にしています。 マイクロソフト サポート窓口では、特定のプロシージャの機能説明に関するご質問に対して支援いたしますが、本例を特定の目的を満たすために機能を追加したり、プロシージャを構築することは行いません。

サンプル Visual Basic プロシージャ

次の Visual Basic プロシージャでは、文字 (または文字) の入力を求め、現在選択されているセルまたはセル範囲を検索し、その文字または文字列の出現回数の合計を示すメッセージ ボックスを表示します。 これは、すべての英数字に対して機能します。

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