当“插入函数/函数参数”对话框显示时,是否可以禁用VBA UDF计算?

我有一个Excel VBA UDF执行一些昂贵的计算。 目前,当用户点击“插入函数”对话框(编辑栏旁边的“fx”button)时,Excel会尝试运行该函数,这会导致我的代码出现问题。

有没有办法可以设置function,当用户有插入function对话框(或function参数对话框,这是什么时候显示了function名称已经提供)打开时不计算? 我想只有当用户在单元格中input公式或刷新表单时才能运行此function。

尝试添加这个代码到你的函数的开始:

If (Not Application.CommandBars("Standard").Controls(1).Enabled) Then Exit Function 

如果正在使用function向导,它将退出您的UDF