I confirm that the Find method does not find cells that are merged when the
merge area exceeds the search range. In the below code, the first option
(Option 1) does not work as you have pointed out. To use the Find method, you
need to include the merge area of merged cells within the search range.
Alternatively, you can use a loop but it is usually less efficient.
'Assumed is that cells A2:C2 are merged as per your example
Sub Find()
Dim ck As Range
Set ck = Range("A1:A10").Find("cat")
If Not ck Is Nothing Then MsgBox ck.Address & " Option 1"
Set ck = Range("A1, A2:C2, A3:A10").Find("cat")
If Not ck Is Nothing Then MsgBox ck.Address & " Option 2"
Set ck = Range("A1: C10").Find("cat")
If Not ck Is Nothing Then MsgBox ck.Address & " Option 3"
For Each ck In Range("A1:C10").Cells
If LCase(ck) = "cat" Then
MsgBox ck.Address & " Option 4"
Exit For
End If
Next
End Sub
Regards,
Greg