■
Sub データの比較と出力()
Dim シート1 As Worksheet
Dim シート2 As Worksheet
Dim シート3 As Worksheet
Dim 最終行1 As Long
Dim i As Long
Dim 見つかった As Boolean
' シート1とシート2、シート3の参照を取得
Set シート1 = ThisWorkbook.Sheets("シート1") ' "シート1"はシート1の実際の名前に変更してください
Set シート2 = ThisWorkbook.Sheets("シート2") ' "シート2"はシート2の実際の名前に変更してください
Set シート3 = ThisWorkbook.Sheets("シート3") ' "シート3"はシート3の実際の名前に変更してください
' シート1の最終行を取得
最終行1 = シート1.Cells(シート1.Rows.Count, "A").End(xlUp).Row
' シート1のデータをシート2およびシート3と比較して出力
For i = 1 To 最終行1
見つかった = False
' シート2のBC列およびJ列からO列を検索
If データが存在する(シート1.Cells(i, "A").Value, シート2.Range("B:C,J:O")) Then
見つかった = True
End If
' シート3に出力
If Not 見つかった Then
シート3.Cells(シート3.Cells(シート3.Rows.Count, "A").End(xlUp).Row + 1, "A").Resize(, 8).Value = _
シート1.Cells(i, "A").Resize(, 8).Value
End If
Next i
End Sub
Function データが存在する(検索対象 As Variant, 検索範囲 As Range) As Boolean
Dim セル As Range
For Each セル In 検索範囲
If セル.Value = 検索対象 Then
データが存在する = True
Exit Function
End If
Next セル
データが存在する = False
End Function
このコードでは、データが存在する
関数を使って、シート2のBC列およびJ列からO列にデータが存在するかどうかを確認しています。もし存在しない場合は、シート3にそのデータを出力します。なお、実際のシート名が異なる場合は、コード内のシート名を適切に変更してください。