2014-10-25 2 views
0

У меня есть где-то на моем листе ячейка, содержащая определенный текст (например, «привет»), и я хочу знать, какая ячейка это. Я хочу знать ссылку этой ячейки (например, «B52»).Получить ссылку на ячейку, содержащую определенный текст

Я пробовал некоторые вещи с помощью формулы INDEX или MATCH, но я довольно смущен тем, как я должен делать это для такого запроса.

Было бы здорово, если бы кто-нибудь мог дать несколько советов.

Спасибо заранее!

+0

Я думаю, что вы можете получить лучший ответ с большим контекстом. Если, к примеру, вам нужно будет обращаться к ячейкам в той же строке, что и найденная ячейка, путь и соответствие - путь. –

ответ

3

Попробуйте этот небольшой макрос:

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 

и здесь является примером его использования на рабочем листе:

demo

EDIT # 2

Можно для поиска значения в двух измерениях без VBA
у нас есть данные, такие как:

next

В 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 + Сдвиг + Введите, а не только Введите ключ.

+0

Спасибо за ваш комментарий! Это нормально работает, я получаю правильную ячейку, но все равно, чтобы получить ее по-другому, чем всплывающее окно? Реальная цель того, что я хочу сделать, - найти ссылку на ячейку с определенным текстом, который я передаю через аргумент, а затем использовать эту ссылку в других формулах. EDIT: Я начинаю с макросом excel. – MHogge

+0

@Shargotth См. Мой ** ИЗМЕНИТЬ # 1 ** –

+0

Это совсем не ясно, что OP не нуждается в пользовательской функции. Я думаю, что они могут пытаться выполнить некоторые основные виды типа поиска. Если это так, то этот подход может ввести в заблуждение. –

Смежные вопросы