Попробуйте этот небольшой макрос:
Sub WhereIs()
Dim r As Range
For Each r In ActiveSheet.UsedRange
If InStr(1, r.Text, "hello") > 0 Then
MsgBox r.Address
Exit Sub
End If
Next r
End Sub
EDIT # 1
Вот тот же подход в определенном пользователе функция (UDF) Формат:
Public Function WhereIs(rIn As Range, sIn As String) As String
WhereIs = ""
Dim r As Range
For Each r In rIn
If InStr(1, r.Text, sIn) > 0 Then
WhereIs = r.Address(0, 0)
Exit Function
End If
Next r
End Function
и здесь является примером его использования на рабочем листе:
EDIT # 2
Можно для поиска значения в двух измерениях без VBA
у нас есть данные, такие как:
В K1 введите:
привет
В K2 ввести формулу массива
=MIN(IF($A$1:$H$14=K1,COLUMN($A$1:$H$14)-COLUMN($A$1)+1))
В К3 ввести формулу массива
=MIN(IF($A$1:$H$14=K1,ROW($A$1:$H$14)-ROW($A$1)+1))
В K4 входят:
=ADDRESS(K3,K2)
К2 дает столбец, К3 дает строку, а К4 дает адрес ячейки ($ E $ 11)
Формулы массива должны быть введены с Ctrl + Сдвиг + Введите, а не только Введите ключ.
Я думаю, что вы можете получить лучший ответ с большим контекстом. Если, к примеру, вам нужно будет обращаться к ячейкам в той же строке, что и найденная ячейка, путь и соответствие - путь. –