我正在尝试为Excel 2010创建我的第一个Excel加载项。大部分内容正在运行,它是从功能区按钮运行的,但我在解决添加问题时遇到问题。来自我的工作簿的VBA代码的子程序。
根据this answer on SO,应该可以简单地使用语法:
mySub
或
Call mySub
但是这会导致错误" Sub或Function not defined"。我只是设法以这种方式运行它们:
Run "mySub"
或
Application.Run("myAddIn.xlam!mySub")
有没有办法包含加载项,所以我可以轻松解决它?
加载项已在Tools->加载项列表中检查,并且具有与其文件名(CalculationFunctions.xlam)不同的唯一名称(CalcFunctions)。加载项文件位于不同的磁盘上,而且我在服务器上工作,但我不希望这很重要。
答案 0 :(得分:1)
(代表OP发布)。
原来我只是愚蠢。我只在常规Excel窗口中设置了对加载项的引用。我认为这就是人们对工具 - >参考 - >插件的意思(我在荷兰语中使用Excel,而在那里没有"工具"菜单)。无论如何,解决方案是在VBA编辑器窗口的该菜单中设置引用。
以下是如何在VBA中添加引用:
ThisWorkbook.VBProject.References.AddFromFile refPath
使用refPath作为文件的完整路径。
为了能够添加引用,您需要拥有编辑VBA项目的权限。您可以在Excel设置 - >信任中心 - >宏设置中启用此功能。如果您使用的是公司电脑,管理员可能需要为您设置这些设置。