Excel Register UDF in Personal.xslb

2019-07-16 03:25发布

I have an UDF named IP_Transpose, which is located under a standard module in Personal.xslb (so that every Excel workbook has access to it).

What I wanted to do is to register this function, so that it is accessible when user presses '=' key and it shows proper description just like any other Excel function (gives you hint when entering arguments).

Here is how I normally would register a function:

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

The problem is that not only that this does not work (uness I change MacroOptions Macro:="IP_Transpose" to MacroOptions Macro:="Personal.xslb!IP_Transpose"), but also when I start typing '=IP_Tra....' I cannot see it under function list.

How can to solve this issue? (I don't want to call my function as ='Personal.xslb'!IP_Transpose, but directly typing =IP_Transpose(...).

Thanks!

0条回答
登录 后发表回答