目前我有一个vba,我在excel中使用它作为加载项来调用一些UDF。这些函数包含一些参数,例如一系列数字,以及有关这些数字和常量的一些属性。
e.g。 ROR(some_range_of_numbers,每周)
第二个参数有以下选项。它可以是每日或每周,也可以是每月,每季度或每年。如果它每天使用365,如果它每周使用52,如果它的每月我使用12如果它的Qtrly然后我使用4和年度i使用1作为UDF中公式的组成部分之一。
现在,我的问题是当用户想要使用该功能时,我想强制用户每天或每周输入等等。我记得在VB中使用类型或参数的事情。但我迷失在这里。任何帮助将不胜感激。
由于
答案 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