我想在Excel工作表中使用我自己的VBA函數,返回值和相同的功能操縱相同或其他工作表上的單元格,但結果是#VALUE!
的最小工作實例(辦公室升級教授2010,32位):Excel VBA自己的功能,在工作表中改變工作表中的值
Function abc() As Integer
Dim i%
i = 0
Sheet1.Cells(1, 2).Value = 2
abc = i
End Function
當我執行Debug.Print abc
它顯然寫入2
到細胞B2
和印刷的結果是0
。我現在想要做的是=abc()
在Sheet1
的A1
單元上,但我只得到#VALUE!
。順便說一句,如果Application.EnableEvents
和Application.Calculation
被禁用,它也不起作用。設置爲手動。
兩個問題:爲什麼?任何想法如何解決?謝謝。
[見本Q代表一種解決方法](http://stackoverflow.com/q/23433096/445425) –
注意,在workar ound,有一個問題(錯誤?)「Evaluate」運行兩次。 [請參閱此處](http://stackoverflow.com/q/2611929/445425)瞭解_that_的解決方法 –