VBA中检查枚举值Enum是否为有效值
VBA中使用枚举类型Enum时,由于可以把任意的长整形Long数值赋予Enum类型变量,即使这一长整形数值不在相应的Enum类型范围之内,要保证是有效的枚举值,这里水文工具集介绍一个检查枚举值Enum是否为有效值的方法,具体源代码如下:
Option Explicit '================================ ' VBA中检查枚举值Enum是否为有效值 ' ' '================================ Enum FruitType [_First] = 1 Apple = 1 Orange = 2 Plum = 3 [_Last] = 3 End Enum Sub TestIsValidEnum() Dim N As Long Dim IsValid As Boolean Dim Fruit As FruitType Fruit = 1234 For N = FruitType.[_First] To FruitType.[_Last] If Fruit = N Then IsValid = True Exit For End If Next If IsValid = True Then Debug.Print Fruit & " is a valid value for a Fruit." Else Debug.Print Fruit & " is not a valid value for a Fruit." End If End Sub
这里使用到了一个VBA技巧就是_前缀可以在VBA编辑器中隐藏相应的Enum值,这样下拉列表中不会出现,通过[]使得_前缀命名变成有效名称。
lsc on 九月 20th, 2010
VBA强人!
CnHUP on 九月 20th, 2010
太久没更新,凑个数,进入无米下锅年代了