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過程后的結果如下和所示。








