在vba类中使用参数

时间:2013-03-13 10:15:26

标签: excel-vba parameters vba excel

目前我有一个vba,我在excel中使用它作为加载项来调用一些UDF。这些函数包含一些参数,例如一系列数字,以及有关这些数字和常量的一些属性。

e.g。 ROR(some_range_of_numbers,每周)

第二个参数有以下选项。它可以是每日或每周,也可以是每月,每季度或每年。如果它每天使用365,如果它每周使用52,如果它的每月我使用12如果它的Qtrly然后我使用4和年度i使用1作为UDF中公式的组成部分之一。

现在,我的问题是当用户想要使用该功能时,我想强制用户每天或每周输入等等。我记得在VB中使用类型或参数的事情。但我迷失在这里。任何帮助将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

尝试以下功能:

Function ROR(rng As Range, interval As String) 


    Dim intervalNum As Integer
    select Case LCase(interval)

    Case "daily":
        intervalNum = 365
    Case "weekly":
        intervalNum = 52
    Case "monthly":
        intervalNum = 12
    Case "quarterly":
        intervalNum = 4
    Case "annual":
        intervalNum = 1
    End Select

Debug.Print intervalNum

End Function

评论后更新了代码:

Enum interval
    daily = 365
    weekly = 52
    monthly = 12
    quarterly = 4
    annual = 1
End Enum

Function ROR(rng As Integer, val As interval)


End Function

您也可以使用类型,您可以将其作为下拉列表。

Type interval
    daily As Integer
    weekly As Integer
    monthly As Integer
    quarterly As Integer
    annual As Integer
End Type

enter image description here