VBA提供了一些內(nèi)置枚舉常量,例如MsgBox函數(shù)的buttons參數(shù)成員vbOkOnly、vbOkCancel等,可以在程序中方便使用,并且這些常量可讀性好,便于程序維護(hù)。當(dāng)然,你可以創(chuàng)建自已的枚舉常量,用于自已的代碼。
使用Enum語句來創(chuàng)建枚舉常量。Enum語句用于定義常量的名稱、其內(nèi)部各常量成員的名稱以及對應(yīng)的值。其語法為:
[Public Private] Enum 常量名
常量成員名 [ = 常量數(shù)值 ]
常量成員名 [ = 常量數(shù)值 ]
…
End Enum
說明:
Enum語句只能放置在代碼模塊的聲明部分
常量數(shù)值必須為Long型,可以是一個正數(shù)或負(fù)數(shù)
如果從一開始就省略了常量數(shù)值,那么其常量成員名被賦值為0,后面依次加1。如果省略的不是第一個成員名,那么后面的比前面的數(shù)值大1
創(chuàng)建枚舉常量后,就可以將變量聲明為枚舉常量,也可以作為自定義函數(shù)返回值的類型
枚舉中的常量數(shù)值可以疊加,例如MsgBox函數(shù)中buttons參數(shù)值可以設(shè)置為vbCritical + vbYesNo
示例
下面的代碼創(chuàng)建自定義枚舉常量,并在程序中使用。
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
運(yùn)行CallExcelPerfect過程后的結(jié)果如下和所示。