=CELL("address",INDEX(B:B,MATCH(C23,A:A,0)))
我试过这个,但它不起作用。
Application.WorksheetFunction.cell("address", Application.WorksheetFunction.Index(Sheet1.Range(("b3"), Range("b2").End(xlDown)) _
, Application.WorksheetFunction.Match(c23, Sheet1.Range(("A3"), Range("a2").End(xlDown)), 0)))
工作表函数没有单元格,但它在excel函数的单元格函数中。
答案 0 :(得分:0)
我会使用这个(如果需要,你可以将它包装在一个函数中):
Dim ind
Dim rng As Range
With Sheet1
ind = Application.Match(.Range("c23"), .Range("A:A"),0)
If Not IsError(ind) Then
Set rng = Application.Index(.Range("B:B"), ind)
MsgBox rng.Address
Else
MsgBox "There is no match"
End If
End With
答案 1 :(得分:0)
我想出了这个:
Dim add As String
add = Sheet1.Range("B1").Offset(Application.WorksheetFunction.Match(Sheet1.Range("C23"), _
Sheet1.Range(("A1"), Range("A1").End(xlDown)), 0) - 1).Address
simoco的解决方案会更好,因为它会检查错误,但我觉得它仍然值得分享