我的工作表中有一个包含特定文本的单元格(例如" hello")我想知道它是哪个单元格。我想知道这个单元格的引用(例如" 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
修改#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
以下是工作表中使用的示例:
修改#2 强>
可以在没有 VBA 的情况下在二维中查找值。再说我们有以下数据:
在 K1 中输入:
hello
在 K2 中输入数组公式
=MIN(IF($A$1:$H$14=K1,COLUMN($A$1:$H$14)-COLUMN($A$1)+1))
在 K3 中输入数组公式
=MIN(IF($A$1:$H$14=K1,ROW($A$1:$H$14)-ROW($A$1)+1))
在 K4 中输入:
=ADDRESS(K3,K2)
K2 给出了列, K3 给出了行, K4 给出了单元格的地址($ E $ 11)
必须使用 Ctrl + Shift + 输入输入数组公式,而不仅仅是 Enter key。