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)
什么情况下使用INDEX函数?
什么情况下使用INDEX函数? INDEX函数可以返回一个值或者对某值的引用,因此可以使用该函数来: 查找所选月份的销量 获取对指定行、列、区域的引用 基于给定数目创建动态区域 以字母顺序排序文本列 INDEX函数的语法 INDEX函数有两种语法形式—数组和引用。使用数组形式,返回值;使用引用形式,返回引
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过程后的结果如下和所示。
使用INDEX函数返回整行或整列
在Excel中,INDEX函数是我们经常使用的函数之一,可以返回一个值,然而,如果将其行参数或者列参数指定为0(或者忽略),那么会返回对指定列或行的引用。注意,这里返回的不是单个值,而是一组值。 如下所示,公式: =INDEX(A1:D4,0,2) 或者: =INDEX(A1:D4,,2) 返回数据区域A1: