2013-08-17 64 views
0

我有一個Excel VBA函數(下),它從幾個工作表中調用,並引用一個本地命名單元格,其值在每個工作表中都不相同。當我通過點擊F9來更新我的工作簿時,每次調用該函數都會產生相同的結果,因爲對該函數的所有調用都會從工作表中獲取本地單元格值,這是我按下鍵時的焦點。我現在明白,這就是「活動」工作表的定義方式。我想從每個調用該函數的工作表中選取本地命名單元格的值。有人能告訴我如何做到這一點?活動工作表與調用工作表

Function AcquisDate() 
    Application.Volatile True 
    [WOULD LIKE TO SET ACTIVE WORKSHEET TO CALLING WORKSHEET HERE 
    AcquisDate = Range("AcquisDateCell") 'This cell name is local to each worksheet. 
End Function 

回答

1

使用Application.Caller.Parent.Range(...),如下面的例子

Function AcquisDate() 
    Application.Volatile True 
    AcquisDate = Application.Caller.Parent.Range("AcquisDateCell") 
End Function 
+0

在這工作就像一個魅力。 (謝謝)^ 3 – user1787425

+0

@ user1787425,當您以這種方式回來時,請務必點擊旁邊的複選標記以接受此答案。 –