如何在Excel中模拟用户定义的函数?

我收到了.xlsb文件引用第三方添加,我没有。 电子表格使用在表单的某些单元格中添加的函数定义,并且这些单元格具有#NAME? 错误。

我在VBA中定义了具有相同名称和参数的函数。 #NAME? 错误仍然存​​在,只有当我“触摸”单元格时才起作用。 我的意思是,我复制并粘贴相同的公式。

有没有更好的方法来取代(模拟)一个不存在的function?

绕过#NAME? 错误,请使用相同的UDF名称查找并replace包含UDF名称的所有公式。

 dim myudf as string, w as long myudf = "=MyUdf(" for w=1 to worksheets.count worksheets(w).cells.replace(what:=ucase(myudf), replacement:=lcase(myudf), _ matchcase:=false, lookat:=xlPart next w 

工作簿是否打开了手动计算? 如果是这样,请尝试切换到自动(工具>选项>计算)。 这可能会迫使它重新计算而不是“触摸”每个单元格。