Try:
Option Explicit
Sub exa()
Dim rngLookFor As Range
Dim aryVals As Variant
Dim i As Long
With Sheet1
If RangeFound(Range(.Cells(2, 2), .Cells(.Rows.Count, 2))) Is Nothing Then Exit Sub
aryVals = Range(.Cells(2, 2), RangeFound(Range(.Cells(2, 2), .Cells(.Rows.Count, 2)))).Value
End With
With Sheet2
For i = 1 To UBound(aryVals, 1)
Set rngLookFor = Nothing
Set rngLookFor = RangeFound(.Cells, aryVals(i, 1), .Cells(.Cells.Count), , xlWhole)
If Not rngLookFor Is Nothing Then
MsgBox "I found " & aryVals(i, 1) & " in " & _
rngLookFor.Parent.Name & "!" & _
rngLookFor.Address(False, False), _
vbInformation, vbNullString
End If
Next
End With
End Sub
Function RangeFound(SearchRange As Range, _
Optional ByVal FindWhat As String = "*", _
Optional StartingAfter As Range, _
Optional LookAtTextOrFormula As XlFindLookIn = xlValues, _
Optional LookAtWholeOrPart As XlLookAt = xlPart, _
Optional SearchRowCol As XlSearchOrder = xlByRows, _
Optional SearchUpDn As XlSearchDirection = xlPrevious, _
Optional bMatchCase As Boolean = False) As Range
If StartingAfter Is Nothing Then
Set StartingAfter = SearchRange.Cells(1)
End If
Set RangeFound = SearchRange.Find(What:=FindWhat, _
After:=StartingAfter, _
LookIn:=LookAtTextOrFormula, _
LookAt:=LookAtWholeOrPart, _
SearchOrder:=SearchRowCol, _
SearchDirection:=SearchUpDn, _
MatchCase:=bMatchCase)
End Function