我在Excel中编写了一个用户定义的功能。它没有问题,效果很好。我甚至在对象属性菜单下为它写了一个描述。
问题是,当我开始输入一个函数时,我的UDF从未出现在Excel下拉菜单中。我希望用户能够在进入单元格并开始输入函数时看到名为removeNumbers的UDF。
我也希望他们能够看到我写的描述,就像标准的Excel函数一样。
最后,有没有一种方法可以为我的函数作为输入的每个参数提供描述?
这是实际的代码,虽然我认为没有必要回答我的问题。
Function removeNumbers(sInput As String, sChoice As Boolean) As String
Dim sSpecialChars As String
Dim i As Long
If (sChoice = True) Then 'if true is selected, will remove all number including 0
sSpecialChars = "0123456789" 'This is your list of characters to be removed
For i = 1 To Len(sSpecialChars)
sInput = Replace$(sInput, Mid$(sSpecialChars, i, 1), "")
Next
End If
If (sChoice = False) Then 'if false is selected, will remove all numbers excluding zero
sSpecialChars = "123456789" 'This is your list of characters to be removed
For i = 1 To Len(sSpecialChars)
sInput = Replace$(sInput, Mid$(sSpecialChars, i, 1), "")
Next
End If
removeNumbers = sInput
End Function
答案 0 :(得分:4)
要使该功能显示在下拉菜单中,您必须将其放在标准模块而不是工作表代码区域。
答案 1 :(得分:0)
另一张海报已经涵盖了代码在标准模块中的需求。关于参数描述,您应该查看this answer中的MacroOptions代码 - 尽管它仅适用于Excel 2010或更高版本。
对于Excel 2007及更早版本,我见过的唯一解决方案是article by JK Pieterse。这涉及使用ExecuteExcel4Macro,看起来有点复杂。