在Excel中,如何调用存储在另一个工作簿中的用户定义函数,而不必打开另一个工作簿?

在Excel中,如何调用存储在另一个工作簿中的用户定义函数,而不必打开另一个工作簿?,excel,vba,shared-libraries,user-defined-functions,Excel,Vba,Shared Libraries,User Defined Functions,我有一些VBA用户定义的函数,我想存储在它们自己的工作簿中,以便其他多个工作簿可以访问它们。我发现一种简单的方法是使用常用函数制作工作簿,然后使用工具>引用VBA窗口引用此常用工作簿 但是,我现在发现,当我在调用工作簿中使用该函数时,它希望我打开公共函数工作簿。我不想这样做,因为这可能会让我的用户感到困惑 在工作簿之间共享VBA函数的最佳做法是什么,而不必在Excel中打开函数库?工作簿应该是打开的,但可以使其不可见 将WB设置为工作簿 设置commonWB=Workbooks.Openpath

我有一些VBA用户定义的函数,我想存储在它们自己的工作簿中,以便其他多个工作簿可以访问它们。我发现一种简单的方法是使用常用函数制作工作簿,然后使用工具>引用VBA窗口引用此常用工作簿

但是,我现在发现,当我在调用工作簿中使用该函数时,它希望我打开公共函数工作簿。我不想这样做,因为这可能会让我的用户感到困惑


在工作簿之间共享VBA函数的最佳做法是什么,而不必在Excel中打开函数库?

工作簿应该是打开的,但可以使其不可见 将WB设置为工作簿 设置commonWB=Workbooks.Openpath/file.name commonWB.Windows1.Visible=False


离开宏时不要忘记将其关闭

如果不打开工作簿,则无法关闭。请将共享工作簿另存为加载项xla/xlam。@GSerg谢谢。我已将其保存为xlam,其功能现在在任何工作簿中都可用。当然,这产生了另一个问题。。。如何编辑xlam中的宏?当我打开它并进入VBE时,项目浏览器中没有任何内容。对象浏览器中有一些内容。把它打开。