VBA提供了一些内置枚举常量,例如MsgBox函数的buttons参数成员vbOkOnly、vbOkCancel等,可以在程序中方便使用,并且这些常量可读性好,便于程序维护。当然,你可以创建自已的枚举常量,用于自已的代码。
使用Enum语句来创建枚举常量。Enum语句用于定义常量的名称、其内部各常量成员的名称以及对应的值。其语法为:
[Public Private] Enum 常量名
常量成员名 [ = 常量数值 ]
常量成员名 [ = 常量数值 ]
…
End Enum
说明:
Enum语句只能放置在代码模块的声明部分
常量数值必须为Long型,可以是一个正数或负数
如果从一开始就省略了常量数值,那么其常量成员名被赋值为0,后面依次加1。如果省略的不是第一个成员名,那么后面的比前面的数值大1
创建枚举常量后,就可以将变量声明为枚举常量,也可以作为自定义函数返回值的类型
枚举中的常量数值可以叠加,例如MsgBox函数中buttons参数值可以设置为vbCritical + vbYesNo
示例
下面的代码创建自定义枚举常量,并在程序中使用。
Enum MyText
MyExcel = 1
MyPerfect = 2
MyExclaim = 4
End Enum
Sub ExcelPerfect(eText AsMyText)
Dim strText As String
Select Case eText
Case 1
strText = “Excel”
Case 2
strText = ” ”
Case 3
strText = ” Excel”
Case 4
strText = “微信 ”
Case 5
strText = “excelperfect”
End Select
MsgBox strText
End Sub
Sub CallExcelPerfect()
ExcelPerfect MyExcel
ExcelPerfect MyPerfect + MyExcel
End Sub
运行CallExcelPerfect过程后的结果如下和所示。