エクセルで作成したリストのデータが別のリスト内に存在するかを確認する場合、別のリストを配列に格納してデータを照合することで確認することができます。
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セルに照合結果が記載されます。
コメント