PeaceJetのブログ

金融系の社内エンジニアをやりながら、マーケティングやデータ分析などもやっています。

超簡単!マクロで2つのデータを比較してみよう!【エクセルマクロ・ExcelVBA】

例えば、ワークシートに以下のような値が入っているとします。
※分かりやすくするため、重複しているものに色を付けています。

 AB
1佐藤下村
2藤田長嶋
3ジョンソン田中
4梅村バイソン
5下村アンダーソン

以下の範囲を比較したとき

  • Range("A1:A5")
  • Range("B1:B5")

データに 重複 があれば

メッセージボックスを表示させるプログラムを考えます。

重複をCollectionを使って判定する。

上記の表について、それぞれのRangeオブジェクトを取得します。

  • Set FirstRange = Range("A1:A5")
  • Set SecondRange = Range("B1:B5")

変数にオブジェクト型を格納するためには、
「Setステートメントを使用します。

Sub 重複発見機()
    
    Dim FirstRange, SecondRange As Variant
    Dim i, j As Variant
    
    Set FirstRange = Range("A1:A5")
    Set SecondRange = Range("B1:B5")

    For Each i In FirstRange
        
        For Each j In SecondRange
            
            If i = j Then MsgBox "重複があります"
        
        Next j
    
    Next i
    
End Sub