Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在Excel中按名称调用UDF函数吗?_Excel_Vba - Fatal编程技术网

我可以在Excel中按名称调用UDF函数吗?

我可以在Excel中按名称调用UDF函数吗?,excel,vba,Excel,Vba,我正在教我的学生用Excel编写自定义项,并让他们在模块中提交一个Excel加载项及其功能。它们都有标准的函数名和输入变量。我试图找到一种方法来轻松编写一些函数调用,这些函数调用应该返回已知的解决方案,然后禁用我的外接程序,并启用每个学生的外接程序,以查看他们的代码是否正常工作 但是,当我禁用外接程序时,我创建的函数会更改为直接引用我的外接程序文件,因此当我随后启用学生的外接程序时,函数不会像我希望的那样引用学生的外接程序 有人知道我如何做到这一点,而不必为每个学生的作业重新输入测试方程吗 谢谢

我正在教我的学生用Excel编写自定义项,并让他们在模块中提交一个Excel加载项及其功能。它们都有标准的函数名和输入变量。我试图找到一种方法来轻松编写一些函数调用,这些函数调用应该返回已知的解决方案,然后禁用我的外接程序,并启用每个学生的外接程序,以查看他们的代码是否正常工作

但是,当我禁用外接程序时,我创建的函数会更改为直接引用我的外接程序文件,因此当我随后启用学生的外接程序时,函数不会像我希望的那样引用学生的外接程序

有人知道我如何做到这一点,而不必为每个学生的作业重新输入测试方程吗


谢谢

您可以将自己的函数添加到personal.xlsb工作簿中,而不是使用自己的加载项,然后依次将每个学生的函数添加到测试工作簿中吗?然后您可以将函数引用为

=PERSONAL.XLSB!TESTFUNCTION()
=TESTWORKBOOK.XLSX!TESTFUNCTION()
你的学生作为

=PERSONAL.XLSB!TESTFUNCTION()
=TESTWORKBOOK.XLSX!TESTFUNCTION()
引用个人工作簿的单元格将始终引用您自己的公式。对于每个学生,只需将他们创建的每个模块复制并粘贴到测试工作簿中,然后Excel就会将其提取出来


当然,您需要复制并粘贴上一个学生的作业,因此,如果您想将每个学生与其他学生进行比较,则此操作不起作用。

您可以随时向学生索要奖金积分的解决方案;)它们必须作为外接程序加载吗?我的直觉是使用VBA扩展性来构建一个“测试工作簿”。您可以从VBE中执行此操作,从任何打开的工作簿调用函数/过程(前提是它不是
选项Private Module
Private Sub/function