vba - 在新工作簿中使用 Personal.xlsb 函数?

标签 vba excel

我进行了搜索,并且知道如何从 VB 宏调用 Personal.xlsb 中的函数,但是如何调用要在新工作簿中使用的函数?

这是我的函数,保存在我的 Personal.xlsb 的“Module1”中:

Public Function GetColumnLetter(colNum As Integer) As String
    Dim d As Integer
    Dim m As Integer
    Dim name As String
    d = colNum
    name = ""
    Do While (d > 0)
        m = (d - 1) Mod 26
        name = Chr(65 + m) + name
        d = Int((d - m) / 26)
    Loop
    GetColumnLetter= name
End Function

我创建了一个新的工作簿,并认为我可以通过 =getcolumnletter(1) 来调用它,但是当我开始输入 =... 时,该函数不会“填充”

我是不是忽略了什么?如何在没有 VBA 的情况下在其他工作簿中使用此函数?

感谢您的建议!

最佳答案

啊,比我想象的要简单。只需在宏之前使用工作簿名称 - 所以

=Personal.xlsb![macroname]  

因此,就我而言,我只需将其放入单元格中:=Personal.xlsb!GetColumnLetter(2) 以返回“B”。

关于vba - 在新工作簿中使用 Personal.xlsb 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31815205/

相关文章:

performance - 更快地计算两个位置之间的距离(邮政编码)

mysql - 如何在 VBA 中使用 SQL 从表中检索特定值

vba - 下标超出范围 - 将工作表复制到新工作簿 Excel

vba - 如何使用 Excel VBA 将 ActiveWorkbook 带到窗口的前面?

Excel 公式为每个主题创建一行,并用特定主题的下一个可用值替换列中的缺失值

excel - VBA Shapes.AddTextbox 方法

ms-access - 从 *.cls 或类似文件以编程方式将模块导入 Access

arrays - vba 将数组值设置为 NaN

sql - 使用 postgres 将 Excel 日期格式转换为常规日期

vba - 当我使用 Sleep 时如何防止我的后台宏停止?