Excel在Personal.xslb中注册UDF

我有一个名为IP_Transpose的UDF,它位于Personal.xslb中的标准模块下(这样每个Excel工作簿都可以访问它)。

我想要做的就是注册这个函数,这样当用户按下“=”键时它就可以被访问,并且和其他Excel函数一样显示正确的描述(在input参数的时候给出提示)。

以下是我通常如何注册一个函数:

Public Sub RegisterFunction() Dim vArg(1 To 2) As Variant vArg(1) = "argument description 1" vArg(1) = "argument description 2" Application.MacroOptions Macro:="IP_Transpose", Description:="Some overall description", Category:="IP_UDF", ArgumentDescriptions:=vArg End Sub 

问题是,不仅这不工作(我改变MacroOptions Macro:="IP_Transpose"MacroOptions Macro:="Personal.xslb!IP_Transpose") ,而且当我开始键入'= IP_Tra ….'我不能在函数列表中看到它。

如何解决这个问题? (我不想调用我的函数='Personal.xslb'!IP_Transpose,但直接键入= IP_Transpose(…)。

谢谢!