Приведенный ниже код написан с использованием указанного диапазона c в одной книге с двумя листами (Sheet1, Sheet2).
Sub CheckAvailability()
Dim rMyRng As Range, rCompare As Range, r As Range, lFound As Long,
blStatus As Boolean
Application.ScreenUpdating = False
With Sheets("Sheet1")
Set rMyRng = .Range("A1:B" & Range("B" & Rows.Count).End(xlUp).Row)
End With
With Sheets("Sheet2")
Set rCompare = .Range("A1:B" & Range("B" & Rows.Count).End(xlUp).Row)
End With
For Each r In rMyRng.Rows
With r
.Select
blStatus = False
lFound = Application.CountIfs(rCompare.Columns(1), .Cells(1).Value,
rCompare.Columns(2), .Cells(2).Value)
If lFound Then blStatus = True
.Cells(2).Offset(, 1).Value = blStatus
End With
Next r
Application.ScreenUpdating = True
Как настроить это для работы с двумя листами с динамически изменяющимися строками