如何在vba编辑器中使用excel函数

时间:2010-02-03 07:20:17

标签: excel vba function

我想写一个像这样的Excel函数。它是Dec2Bin函数的扩展

Public Function Dec2BinEx(x As Long)
  Dec2BinEx = dec2bin(x) + 10
End Function

但是在尝试使用它时遇到错误。如何在visual basic编辑器中调用excel函数

2 个答案:

答案 0 :(得分:6)

通常,您使用Application.WorksheetFunction.SomeFunctionName调用Excel函数。但是,Dec2Bin是特殊的,因为它是一个加载项功能,而不是纯Excel函数。因此,Application.WorksheetFunction在这里不起作用。相反,您必须使加载项的功能可用于您的代码。为此,请按照以下步骤操作

  • 在Excel中,菜单工具/加载项,make 确保导入加载项Analysis ToolPak - VBA

  • 然后,设置对此加载项的引用 在您的代码中:在VBA编辑器中,菜单 工具/参考,添加参考 atpvbaen.xls

然后,您在问题中发布的原始代码应该可以正常工作。

答案 1 :(得分:0)

您首先必须创建一个模块,例如从菜单中选择插入 - >模块。然后在此模块中创建一个名为 main 的函数。运行代码时,默认情况下会运行此函数。现在在这个函数里面调用你自己的函数:

Sub main()
    Call Dec2BinEx(your_value_here)
End Sub

Public Function Dec2BinEx(x As Long)
    Dec2BinEx = dec2bin(x) + 10
End Function

完成此操作后,请确保您具有 dec2bin 功能的参考,或者您也可以创建该功能。感谢