有誰知道我如何獲得用戶定義的函數來重新評估自己(基於電子表格中已更改的數據)?我試過F9和移 + F9 ,但那些不工作。似乎工作的唯一的東西是用函數調用編輯單元格,然後按Enter鍵。有任何想法嗎?我似乎記得能夠做到這一點...刷新Excel VBA函數結果
55
A
回答
93
你應該在你的函數的頂部使用Application.Volatile
:
Function doubleMe(d)
Application.Volatile
doubleMe = d * 2
End Function
然後它會重新評估每當工作簿的變化(如果你的計算被設置爲自動)。
13
好的,自己找到了這一個。您可以使用Ctrl + Alt + F9來完成此操作。
+0
這是你唯一的選擇,如果您有Excel 2007中看到,因爲在Office中添加了`Application.Volatile`方法2010年 – 2015-03-12 19:31:58
28
在Excel中的F9快捷鍵進行計算的一些詳細信息,
- F9重新計算所有工作表中的所有打開的工作簿
- 移 + F9重新計算活動工作表
- Ctrl + Alt + F9重新計算所有工作表中的所有打開的工作簿(完整計算)
- 移 + 按Ctrl + Alt鍵 + F9重建的依賴關係樹和不完整計算
9
如果包括所有對UDF參數列表Excel中的電子表格數據的引用將在引用的數據發生變化時重新計算您的功能:
Public Function doubleMe(d as variant)
doubleMe=d*2
end Function
您還可以使用Application.Volatile, 但這使你的UDF始終重新計算, 即使它並不需要,因爲引用的數據並沒有改變的缺點。
Public Function doubleMe()
Application.Volatile
doubleMe=Worksheets("Fred").Range("A1")*2
end Function
-1
Public Sub UpdateMyFunctions()
Dim myRange As Range
Dim rng As Range
'Considering The Functions are in Range A1:B10
Set myRange = ActiveSheet.Range("A1:B10")
For Each rng In myRange
rng.Formula = rng.Formula
Next
End Sub
1
要切換到自動:
Application.Calculation = xlCalculationAutomatic
切換到手動:
Application.Calculation = xlCalculationManual
1
它運作良好,這樣一來刷新計算比範圍更好(A:B)。計算
Public Sub UpdateMyFunctions()
Dim myRange As Range
Dim rng As Range
'Considering The Functions are in Range A1:B10
Set myRange = ActiveSheet.Range("A1:B10")
For Each rng In myRange
rng.Formula = rng.Formula
Next
End Sub
-2
Application.Volatile
不適用於用我自己的函數重新計算公式。我用下面的功能: Application.CalculateFull
相關問題
- 1. Excel VBA奇數學結果
- 2. Excel vba刷新等待
- 3. Excel vba刷新表格
- 4. 表刷新後的Excel VBA QueryTable回調函數
- 5. Excel VBA中的計數搜索結果
- 6. Excel VBA和函數
- 7. 子函數Excel VBA
- 8. Excel VBA函數更新僅在更改
- 9. 使用VBA在Excel中刷新VBProject.VBComponents
- 10. VBA-Excel公式參考 - 計算刷新
- 11. Excel VBA刷新文檔只讀
- 12. Word VBA刷新嵌入式Excel圖表
- 13. Excel VBA:全部刷新並保存
- 14. 如何從VBA函數返回結果
- 15. 刷新結果消失
- 16. $ HTTP GET不刷新結果
- 17. Excel VBA總結按行數
- 18. POWER函數結果SQL與Excel不同
- 19. Excel。查找,函數結果VB 2010
- 20. VBA Excel 2010,isError函數
- 21. Excel VBA的迴歸函數
- 22. #VALUE Excel VBA函數錯誤
- 23. Excel 2007 VBA VLookup函數
- 24. Excel中的VBA函數
- 25. 使用列函數 - Excel VBA
- 26. Excel VBA - 求和函數
- 27. Excel VBA - 圓形函數
- 28. VBA excel函數語法
- 29. Excel VBA函數到Java poi
- 30. MS Excel中的VBA函數
這是真棒,我不知道,多虧了一堆 – 2008-10-10 12:37:55
謝謝,剛纔我的頭撞在桌子上。應該指出,儘管在Excel 2010中,您需要將True傳遞給Application.Volatile,即「Application.Volatile True」。 – mdm 2010-03-31 13:00:36
謝謝。您。如果可以的話,我會給你買啤酒! – 2012-03-30 15:05:00