ただ探すだけならFind()を使ったほうがいいけれど、複数のパターンを同一視し、2個以上あるか調べるという処理のときはループで回したほうが楽。
'見つからなかったらNothingで返す
'シート内に複数同じ項目があったらエラー。Cells(65536, 256)で返す
'大文字/小文字の判別無し。LCaseで小文字可して比較してます。
Function SearchOneCell(itemarray)
Set SearchOneCell = Nothing
'使用されている最後の列を得る
Dim usedrange_address
usedrange_address = ActiveSheet.UsedRange.address
Dim usedrange_row
usedrange_row = Right(usedrange_address, Len(usedrange_address) - InStr(usedrange_address, ":"))
usedrange_row = Split(usedrange_row, "$")(1)
'使用されている最後の行を得る
Dim usedrange_column
usedrange_column = Right(usedrange_address, Len(usedrange_address) - InStr(usedrange_address, ":"))
usedrange_column = Split(usedrange_column, "$")(2)
Dim y
For y = 1 To usedrange_column
Dim x
For x = ConvertAlphabetToNumber("A") To ConvertAlphabetToNumber(usedrange_row)
Dim max_i
max_i = UBound(itemarray)
Dim i
For i = 1 To max_i
If LCase(Cells(x, y).Value) = LCase(itemarray(i)) Then
If SearchOneCell Is Nothing Then
Set SearchOneCell = Cells(x, y)
Else
'2個以上見つかった
Set SearchOneCell = Cells(65536, 256) '256が列の最大値
Exit Function
End If
End If
Next
Next
Next
End Function