我有一个宏来注册我的用户定义的函数,将它们放在自定义类别和供应描述中,称为AddUDFsToCategory
。此宏放在我已安装的加载项的模块中。但是,要使UDF注册,我必须在每次打开Excel时手动运行宏。
我希望在打开Excel时运行此宏,即使没有打开工作簿。我试图在" ThisWorkbook"中使用Workbook_AddinInstall。插件的一部分,
Private Sub Workbook_AddinInstall()
AddUDFsToCategory
End Sub
但这似乎无法实现任何目标。
如果我尝试将它与Workbook_open一起使用,
Private Sub Workbook_Open()
AddUDFsToCategory
End Sub
我明白了:
"运行时错误' 1004':无法编辑隐藏工作簿上的宏。使用取消隐藏命令取消隐藏工作簿。"
有谁知道怎么解决这个问题?
答案 0 :(得分:0)
您应该可以通过Excel选项菜单注册它。
首先,转到选项,然后点击加载项:
从这一点开始,您应该可以通过点击“开始”来管理您的加载项。
打开VBE并点击{{1}}:
在这里,您将找到加载项管理器。选择您的加载项,并确保选中" Load on Startup" 的复选框。
答案 1 :(得分:0)
我发现解决此错误的唯一方法是在尝试注册UDF时强制Excel打开工作簿。
Sub AddUDFsToCategory()
Dim wbkTemp As Excel.Workbook
If Application.ActiveWorkbook Is Nothing Then
Set wbkTemp = Application.Workbooks.Add
End If
'/--------------------------------------------\
' Code to register your User Defined Functions
'\--------------------------------------------/
If Not wbkTemp Is Nothing Then
wbkTemp.Close False
End If
End Sub