2010-02-20 34 views
1

我需要找出調用特定功能的單元地址。如何檢索調用特定功能的單元地址

如果我的函數是MyFunction(arg1,arg2), 我應該能夠使用名稱「MyFunction」查找單元格地址。

請幫我找出什麼是最有效的方法來做到這一點。

謝謝

回答

0

你可以通過一個單元格區域,尋找特定的函數循環:

Dim name as String 
Dim searchRange as Range 
Dim row as Integer 
Dim col as Integer 

name = "MyFunction" ''// for example 
Set searchRange = Range("A1:P:50") ''// for example 

For row = 1 to searchRange.Rows.Count 
    For col = 1 to searchRange.Columns.Count 
    If Left(searchRange.Cells(row, col).Formula, Len(name)) = name Then 
     ''// do something with this cell 
    End If 
    Next col 
Next row 
+0

+1了很好的答案和愚弄降價到妥善處理VBA評論:-) – bernie

+1

謝謝你的回答,因此被稱爲我發現Excel Find()比循環更有效。 ref:http://www.ozgrid.com/VBA/find-method.htm – nimo

+1

@nimo:這是一個很好的發現。爲什麼不把它作爲答案發布,然後將其標記爲已接受?回答你自己的問題沒有錯:') –

1

我問the same question,但措辭不同,所以我當我搜索沒有找到這一個。

有趣的一點是,我得到的答案是,我認爲,比循環一個有兩個原因:

  1. 更快 - 無循環。只需使用Application.Caller
  2. 工作,如果你的函數是由多於一個小區
+0

正如我對自己答案的評論所指出的,我認爲OP正在尋找不同的東西。無論哪種方式,鏈接+1,因爲我沒有聽說過'Application.Caller',我相信它有一天會派上用場。 –