Excel UDF:克服数组输出中的限制
Excel 用户定义函数 (UDF) 通常返回一个标量值,但是如果您需要 UDF 来修改其他单元格吗?这是具有挑战性的,因为明确禁止 UDF 更改任何单元格、工作表或工作簿属性。
可能吗?
与普遍看法相反,有可能尽管通过复杂的解决方法来完成此任务。通过利用 Windows 计时器和 Application.OnTime 计时器的组合,我们可以绕过这些限制。
了解解决方法
Windows 计时器是从 UDF 内部启动的。然而,它的功能仅限于调度Application.OnTime计时器。经过 Excel 批准的 Application.OnTime 计时器仅在没有编辑单元格且没有打开对话框时才安全执行。
实现
实现此解决方法,将以下代码放入常规模块中:
[代码如下这里]
详细说明
AddTwoNumbers UDF:
AfterUDFRoutine1:
AfterUDFRoutine2:
结论
虽然 Excel 限制 UDF 直接更改单元格,但此解决方法提供了一种解决方案。通过依次使用 Windows 计时器和 Application.OnTime 计时器,您可以克服这些限制,并使您的 UDF 能够执行原本不可能执行的操作。
以上是Excel UDF 可以修改其他单元格吗?的详细内容。更多信息请关注PHP中文网其他相关文章!