PR
セルの操作

【Excel VBA】エクセルのデータが配列内に存在するか照合確認する

エクセルで作成したリストのデータが別のリスト内に存在するかを確認する場合、別のリストを配列に格納してデータを照合することで確認することができます。

Sub 配列のデータとエクセルのデータを照合()

Dim HAIRETSU(4) As String '配列は(0)~(4)の5個格納可能
Dim i As Long
Dim Shougou_Range As Range
Dim cell As Range

For i = 0 To 4
HAIRETSU(i) = Cells(i + 1, 1).Value
Next i

Range("C1:C5").ClearContents

Set Shougou_Range = Range("B1:B5")

'B1~B5セルの値が配列に格納されているデータに存在するか確認していきます
For Each cell In Shougou_Range
  
    '↓今回は配列にデータが5個格納されているので、For i = 0 to 5となります
    For i = LBound(HAIRETSU) To UBound(HAIRETSU)
      
        'セルの値と同じ値が配列内に存在する場合はC列にその旨を出力します
        If cell.Value = HAIRETSU(i) Then
            cell.Offset(0, 1).Value = "←配列格納データに存在します"
        End If
    
    Next i

Next cell


End Sub

A1:A5セルの範囲のデータを配列格納して、B1:B5のリストの各セルの値が配列内に存在するかを照合(上記マクロを実行)すると、下図のようにC1:C5セルに照合結果が記載されます。

コメント