有没有办法让UDF在用户单击Fx按钮时提供类似本机Excel函数的描述?

Dea*_*gor 15 excel vba excel-vba

如果我=vlookup(在公式栏中键入(或任何其他本机Excel函数),然后单击公式左侧的小Fx按钮,我将获得包含所有可用参数的"函数参数"提示.在该提示中,在函数参数下面,当您从每个参数的输入框移动光标时,函数和每个参数的一个或两个句子描述.

当我输入我的UDF名称并单击Fx时,我得到了所有参数的输入框,但就是这样.有没有办法可以添加本机Excel函数具有的那些相同的有用类型的描述?

Jus*_*ies 29

键入=FormulaName(单元格,然后按Ctrl+Shift+A,它将填写参数的引用名称


小智 28

我建议进一步调查Application.MacroOptions方法.该方法不仅允许您提供函数的描述,还允许您提供每个参数的描述.例如,如果你有一个名为"SampleFunction"的函数,它接受两个参数,你可以运行以下命令,它可以很好地设置你的函数使用fx按钮:

Private Sub RegisterMyFunction()
    Application.MacroOptions _
        Macro:="SampleFunction", _
        Description:="calculates a result based on provided inputs", _
        Category:="My UDF Category", _
        ArgumentDescriptions:=Array( _
            "is the first argument.  tell the user what it does", _
            "is the second argument.  tell the user what it does")
End Sub
Run Code Online (Sandbox Code Playgroud)


Pet*_*ert 25

是的,有一种隐藏的方法可以做到这一点:

在VBA中定义UDF后,转到Visual Basic编辑器(F2)中的对象浏览器.在这里,在顶部下拉菜单中,选择VBAProject.在下面的窗口中,导航到您的UDF并右键单击它 - 选择Properties:

在此输入图像描述

在属性中,您可以提供说明.

在此输入图像描述

如果您需要更多信息,例如如何将功能添加到某个类别,请查看此OzGrid文章!

  • 我想我理解了这个问题:UDF描述只在Excel运行时加载一次.这个,如果您之前在fx窗口中查看它,Excel将不会更改它,直到您重新启动它! (4认同)
  • @PeterAlbert-谢谢您解决了这个问题...似乎我没有足够的耐心,并且预计更改会发生**现在** :) (2认同)