我已经创建了一个功能,我希望能够打开任何excel文件,只需键入一个单元格' = function'即可使用此功能。这可能,我该怎么做?我在哪里保存这个功能?
答案 0 :(得分:3)
将包含该函数的工作簿另存为加载项(.xlam或.xla,具体取决于您的Excel版本)。然后,您可以通过加载项管理器安装它,并从任何工作簿中调用它。
注意:您在技术上 将其另存为加载项 - 您可以使用常规工作簿 - 但是您必须在函数名称前加上名称每当你调用它时工作簿(例如= Personal.xlsb!some_function),你将不得不记得每次都打开工作簿(或将它放在你的XLSTART或其他启动文件夹中)。
答案 1 :(得分:1)
我将提供一个答案,将工作簿A的示例设为wbCompany
,将工作簿B设为wbEmployee
。
根据我的理解,您在wbCompany.getEmployeeCount()
中有一项功能,并且您希望在wbEmployee
中使用此功能。
首先,重命名两个文件的VBA项目以防止重复的项目名称。因此,我们将分别为vbaPrjEmp
和vbaPrjCmp
工作簿将VBA项目重命名为wbEmployee
和wbCompany
。
其次,您需要添加wbCompany
作为wbEmployee
的参考。
wbEmployee
中,打开Microsoft Visual Basic for Applications窗口。wbCompany
),然后单击“打开”。 最后在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