2014-07-01 52 views
-1

我有一個VBA函數:如何獲得當前的Excel單元格

public function MyFunction(someParameters) as Double 

    ... do something ... 

    return aValue 

end function 

我有一個在我的函數是從一些細胞稱爲表:

A1: =MyFunction(...) 

A2: =MyFunction(...) 

A100: =MyFunction(..) 

我想返回價值(它的工作原理),也可以添加註釋到單元格...

如果我使用ActiveCell然後我使用AddComment,它添加註釋到最後一個單元格離開我的遊標,而不是'活動單元格計算」。

怎麼辦?

謝謝。

+0

您可以參考它調用UDF的細胞 - 我還沒有嘗試過,對於添加註釋,雖然。 http://www.mrexcel.com/forum/excel-questions/379635-get-cell-reference-udf-caller.html – natancodes

回答

4

你不能這樣做使用ActiveCell。你的函數重新計算,每次它被稱爲ActiveCell是不同的(取決於選擇)。對於通過UDF添加註釋的邏輯似乎有點瑕疵,但您可以嘗試這個

Public Function MyFunction() As Double 

    MyFunction = 3.141519 

    Dim cell As Range 
    Set cell = Range(Application.Caller.Address) 

    cell.AddComment (cell.Address) 

End Function 
相關問題