我在excel vba中有一个名为“State”的全局变量,它只能等于“high”,“low”或“medium”。每次我想调用这个变量时,我都要做一个检查循环(使用select case或if)以避免“state”等于其他值:
Select Case State
Case Is = "high"
'code
Case Is = "low"
'code
Case Is = "medium"
'code
Case Else
'error function
End Select
我想知道是否有更复杂的方法可以使我的变量更通用?我实际上想要创建一个三状态类型(如类型boolean),它可以很容易地用于其他函数
答案 0 :(得分:2)
您可以使用Enum
。例如,在模块顶部定义:
Enum State
High = 1
Medium = 2
Low = 3
End Enum
你可以使用它,例如,像这样:
Sub Test(testVal As State)
Select Case testVal
Case High
MsgBox "High!!"
Case Medium
MsgBox "Medium!"
Case Low
MsgBox "Low."
End Select
End Sub