哪里可以保存excel vba函数,以便能够访问其他工作簿中的函数

时间:2015-09-01 11:20:50

标签: excel vba excel-vba

我已经创建了一个功能,我希望能够打开任何excel文件,只需键入一个单元格' = function'即可使用此功能。这可能,我该怎么做?我在哪里保存这个功能?

4 个答案:

答案 0 :(得分:3)

将包含该函数的工作簿另存为加载项(.xlam或.xla,具体取决于您的Excel版本)。然后,您可以通过加载项管理器安装它,并从任何工作簿中调用它。

注意:您在技术上 将其另存为加载项 - 您可以使用常规工作簿 - 但是您必须在函数名称前加上名称每当你调用它时工作簿(例如= Personal.xlsb!some_function),你将不得不记得每次都打开工作簿(或将它放在你的XLSTART或其他启动文件夹中)。

答案 1 :(得分:1)

我将提供一个答案,将工作簿A的示例设为wbCompany,将工作簿B设为wbEmployee

根据我的理解,您在wbCompany.getEmployeeCount()中有一项功能,并且您希望在wbEmployee中使用此功能。

首先,重命名两个文件的VBA项目以防止重复的项目名称。因此,我们将分别为vbaPrjEmpvbaPrjCmp工作簿将VBA项目重命名为wbEmployeewbCompany

其次,您需要添加wbCompany作为wbEmployee的参考。

  1. wbEmployee中,打开Microsoft Visual Basic for Applications窗口。
  2. 选择工具>引用。
  3. 在出现的“参考”对话框中,单击“浏览”。
  4. 在出现的“添加引用”对话框中,从“文件类型”框中选择“Microsoft Excel文件”,选择要调用的文件(在本例中为wbCompany),然后单击“打开”。
  5. 选择“确定”关闭“引用”对话框。
  6. 最后在wbEmployee中,您现在可以通过以下方式从wbCompany引用/调用该函数:

    Sub compareEmpCount()
        msgbox vbaPrjCmp.ThisWorkbook.getEmployeeCount
    End Sub
    

答案 2 :(得分:1)

您可以将其存储在Personal.xlsb工作簿或Excel加载项(.xlam)中。搜索这两个中的任何一个,以使您走上正确的轨道。

答案 3 :(得分:0)

首先,您必须在Excel中启用宏。

之后,您可以使用Alt + F11打开Excel VBA编辑器,并在那里创建您的功能。

最后,您可以在具有'= function'的单元格中使用您的函数。

无论如何,您可以尝试使用此链接来帮助您使用第一个vba函数:http://www.fontstuff.com/vba/vbatut01.htm

注意:我已经在Excel上创建了一些函数,它总是对我有用。但请记住:您必须在Excel中启用宏。

您可以在此处阅读有关宏的信息:https://support.office.com/en-nz/article/Enable-or-disable-macros-in-Office-documents-7b4fdd2e-174f-47e2-9611-9efe4f860b12