エクセルvbaにて列の比較方法

A列とB列の比較としては使える

 

Sub test5()
t = Timer

Dim A
'辞書を作成
Set A = CreateObject("Scripting.Dictionary")

Dim B, C
B = Range("N2:N121546") 'カウント元の値を取得
C = Range("N2:N121546") 'カウント先の値を取得

'カウント元をループ
For i = 1 To UBound(B, 1)
'If A.Exists(B(i, 1)) = False Then
A.Add B(i, 1), 0 'カウント元を辞書に登録
'End If
Next

'カウント先をループ
For i = 1 To UBound(C, 1)
'辞書に登録されている場合
'If A.Exists(C(i, 1)) Then
A(C(i, 1)) = A(C(i, 1)) + 1 'カウントアップ
'End If
Next

'配列をセルに入力
Range("O2").Resize(A.Count) = WorksheetFunction.Transpose(A.items)

Debug.Print Timer - t & " 秒"

End Sub