在vba中使用参数

在vba中使用参数

问题描述:

目前我有一个vba,我使用它作为excel中的加载项来调用某些UDF。函数需要参数(如数字范围)以及有关这些数字和常量的一些属性。在vba中使用参数

例如ROR(some_range_of_numbers,每周)

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

现在,我的问题是当用户想要使用该功能,我想迫使用户每天或每周输入等我记得有关在VB中使用类型或参数的东西。但我在这里失去了。任何帮助将不胜感激。

感谢

试试下面的功能:

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

+0

我已经有这个。我正在寻找下拉类型的参数列表。 – cjv 2013-03-13 11:50:51

+0

@cjv修改了代码。 – 2013-03-13 12:11:13

+0

好吧我正在检查...在vba ... ENUM,这是我正在寻找...我认为...检查....现在 – cjv 2013-03-13 12:18:01