【发布时间】:2015-09-02 02:44:37
【问题描述】:
在 Excel VBA 中编写的用户定义函数的运行速度似乎比在工作表单元格中简单编写的函数慢得多。有没有办法让它们运行得更快?例如,我有一个非常简单的用户定义函数:
Function myweekday(mydate As Double)
myweekday = Weekday(mydate)
End Function
基本上它与内置的 =weekday() 函数做同样的事情。然而,在 50,000 个单元上运行此程序大约需要 5 秒来计算,而简单地使用内置函数则需要几分之一秒。
我能做些什么来让这样的用户定义函数运行得更快?
【问题讨论】:
-
为什么要创建一个功能比工作表WEEKDAY function 或VBA Weekday function 少的UDF?
-
@Jeeped 我唯一的猜测是 Alex 最终想让 UDF 变得更复杂,但他正在研究是否有可能在非常基本的东西上获得他们想要的 UDF 速度。跨度>
-
@Jeeped 是的,rwilson 是正确的。当然,UDF 是没有意义的,但我想看看像这样简单的东西是否能以不错的速度运行。
标签: vba optimization user-defined-functions