在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
我已经有这个。我正在寻找下拉类型的参数列表。 – cjv 2013-03-13 11:50:51
@cjv修改了代码。 – 2013-03-13 12:11:13
好吧我正在检查...在vba ... ENUM,这是我正在寻找...我认为...检查....现在 – cjv 2013-03-13 12:18:01