3

我在 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
4

2 回答 2

4

要使该函数出现在下拉列表中,您必须将其放置在标准模块而不是工作表代码区域中。

于 2014-03-21T14:28:48.230 回答
0

另一张海报已经涵盖了将代码放在标准模块中的需求。关于参数描述,您应该查看此答案中的 MacroOptions 代码- 尽管它仅适用于 Excel 2010 或更高版本。

对于 Excel 2007 及更早版本,我看到的唯一解决方案是在JK Pieterse 的一篇文章中。这涉及使用 ExecuteExcel4Macro,看起来有点复杂。

于 2014-03-21T14:44:44.513 回答