Bri*_*van 65 excel vba user-defined-functions
有谁知道我如何获得用户定义的函数来重新评估自己(基于电子表格中更改的数据)?我试过F9和Shift+F9,但那些不工作.唯一可行的方法是使用函数调用编辑单元格,然后按Enter键.有任何想法吗?我似乎记得能够做到这一点......
vzc*_*czc 115
你应该Application.Volatile在你的功能的顶部使用:
Function doubleMe(d)
Application.Volatile
doubleMe = d * 2
End Function
Run Code Online (Sandbox Code Playgroud)
然后,只要工作簿发生更改(如果您的计算设置为自动),它就会重新评估.
Rob*_*rns 36
有关在Excel中进行计算的F9键盘快捷键的更多信息
小智 11
如果在UDF参数列表中包含对电子表格数据的所有引用,则只要引用的数据发生更改,Excel将重新计算您的函数:
Public Function doubleMe(d As Variant)
doubleMe = d * 2
End Function
Run Code Online (Sandbox Code Playgroud)
您也可以使用Application.Volatile,但这样做的缺点是使UDF始终重新计算,即使它不需要,因为引用的数据没有更改.
Public Function doubleMe()
Application.Volatile
doubleMe = Worksheets("Fred").Range("A1") * 2
End Function
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
134304 次 |
| 最近记录: |