VBAで重複するコンテンツの数を数える方法
VBAで辞書(Dictionary)を利用して、同じ内容の個数をカウントできます。以下がコード例です。
Sub CountDuplicates()
Dim dataRange As Range
Dim cell As Range
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
' 设置数据范围
Set dataRange = Range("A1:A10")
' 遍历数据范围中的每个单元格
For Each cell In dataRange
' 判断单元格中的值是否已存在于字典中
If dict.Exists(cell.Value) Then
' 如果存在,则在字典中对应的值加1
dict(cell.Value) = dict(cell.Value) + 1
Else
' 如果不存在,则将单元格的值作为键,初始值设为1
dict.Add cell.Value, 1
End If
Next cell
' 输出结果
For Each key In dict.Keys
MsgBox key & " 的个数为 " & dict(key)
Next key
End Sub
上記のコードでは、統計対象のデータはA1:A10の範囲にあるものと仮定しています。まず、辞書オブジェクトを作成し、データ範囲内の各セルを反復処理して、セルの値を辞書キーとして追加します。キーが既にあれば、対応する値を 1 増やします。キーがなければ、キーを追加し、初期値を 1 に設定します。最後に、辞書のキーを反復処理して、各キーに対応する値、つまり同じコンテンツの数を表示します。