从 Personal.xlam 工作簿调用函数

Posted

技术标签:

【中文标题】从 Personal.xlam 工作簿调用函数【英文标题】:Calling Functions From Personal.xlam Workbook 【发布时间】:2020-09-18 12:50:56 【问题描述】:

我无法在 VBA 中使用其他工作簿中的函数。

我创建了一个个人工作表:“Personal_Functions.xlam”,其中个人功能位于:C:\Users\UserID\AppData\Roaming\Microsoft\Excel\XLSTART。

打开 Excel 文件时总是自动启动

我可以在我的任何工作簿中直接使用这些 UDF。

=fctTest(1, 5) 返回6

但是,我无法在代码中调用它们:

编译错误:未定义子或函数。

我尝试将 *.xlam 添加到引用中,但收到错误。

名称与现有模块、项目或对象库冲突

我也尝试制作一个全新的空 *.xlam,但得到了同样的错误。

这是不可能的,还是我必须以不同的方式称呼他们?

不起作用的示例编码:

Personal_Functions.xlam > 模块 1

Public Function fctTest(in1 As Integer, in2 As Integer)
     fctTest = in1 + in2
End Function

Book1.xlsm > 模块测试

Private Sub subTest1()
    Dim test As Integer
    test = fctTest(1, 5)
End Sub

【问题讨论】:

这能回答你的问题吗? Call a VBA Function into a Sub Procedure 不,它描述了我在上面所做的一些事情,但没有提供解决方案。我认为这不是编程问题,而是缺少或已撤消的设置。 【参考方案1】:

我描述的所有步骤都是正确的。但项目名称相同:“VBAProject”。要更改它们:

• 查看 -> 项目浏览器。确保它已打开。

• 选择您的项目 -> F4 -> 重命名

• 工具 > 参考 > 浏览 > 所有文件 (.) > 添加文件

我的任务是通过这个链接结束的: www excelforum com

【讨论】:

以上是关于从 Personal.xlam 工作簿调用函数的主要内容,如果未能解决你的问题,请参考以下文章

如何在工作表中调用 VBA 函数?

从电子表格调用另一个工作簿中的 VBA 函数

VBA从添加到工作簿中导入udf模块

从 LibreOffice Calc 工作簿导入

调用其他VBA工程中的过程和函数以及API函数

VBA编程中如何调用其他文件夹下工作簿里的数据