如何在宏中实现文档? 我为excel表编写了一个自定义函数。但是我不知道如何实现文档,所以如果在函数栏中输入函数,则说明会像excel中的标准函数一样显示。
是否可以实施该文档?
代码:
Sub Macro1()
'
' Macro1 Macro
'
End Sub
Function AFRONDENONZEKERHEID(n As Double, decimalePlaatsen As Integer, Optional toggle As Boolean = False)
If n = 0 Then
Exit Function
End If
If toggle Then
AFRONDENONZEKERHEID = Application.WorksheetFunction.Round(n, decimalePlaatsen)
Exit Function
End If
Dim afgerond As Double
Dim procentueleAfnamen As Double
afgerond = Application.WorksheetFunction.Round(n, decimalePlaatsen)
procentueleAfnamen = (afgerond - n) / n * 100
If procentueleAfnamen <= -5 Then
AFRONDENONZEKERHEID = Application.WorksheetFunction.RoundUp(n, decimalePlaatsen)
Else
AFRONDENONZEKERHEID = afgerond
End If
End Function
(抱歉荷兰变数)
答案 0 :(得分:4)
是否可以实施该文档?
答案是肯定的。
您可以运行例程来注册您的功能。例程将使用Macro.Options method。
以下关于如何register a UDF的例子来自John Walkenbach:
这是一个简单(但非常有用)的用户定义函数:
Function EXTRACTELEMENT(Txt, n, Separator) As String
EXTRACTELEMENT = Split(Application.Trim(Txt), Separator)(n - 1)
End Function
这是一个VBA宏,它提供EXTRACTELEMENT函数的描述,将它分配给一个函数类别,并为它的三个参数提供描述:
Sub DescribeFunction()
Dim FuncName As String
Dim FuncDesc As String
Dim Category As String
Dim ArgDesc(1 To 3) As String
FuncName = "EXTRACTELEMENT"
FuncDesc = "Returns the nth element of a string that uses a separator character"
Category = 7 'Text category
ArgDesc(1) = "String that contains the elements"
ArgDesc(2) = "Element number to return"
ArgDesc(3) = "Single-character element separator"
Application.MacroOptions _
Macro:=FuncName, _
Description:=FuncDesc, _
Category:=Category, _
ArgumentDescriptions:=ArgDesc
End Sub