VBA 常量
常量直接表示相应类型的数据,可以直接使用,通常用作表达式与函数参数。
常用类型的常量如下:
1 字符串常量
字符串常量通过双引号表示。
"Hello,VBA"
"小步教程网址:xiaobuteach.com"
控制台中输出字符串常量。
Sub string1()
Debug.Print "小步教程,VBA"
End Sub
转义字符"
字符串含有特殊字符双引号"时,通过"进行转义。
Sub string2()
Debug.Print """小步教程"",VBA"
End Sub
运行效果如下。
VBA没有字符常量
其它语言中有通过单引号表示字符,VBA没有字符常量。VBA中的单引号表示注释。
2 整数常量
整型常量直接数值表示。例:
2023
6
12
控制台中输出整数常量。
Sub int1()
Debug.Print 2023
End Sub
3 小数常量
小数常量直接用小数表示。例:
2023.61
控制台中输出小数常量。
Sub double1()
Debug.Print 2023.16
End Sub
4 布尔常量
布尔常量存在两个值:True、False,表示真假。
控制台中输出True。
Sub boolean1()
Debug.Print True
End Sub
5 日期常量
日期常量的格式: #月/日/年# 。
例如:2023年6月12日 在VBA中表示为: #6/12/2023#
如果编码时,输入#2023/6/12#,保存时VBA会自动转化为:#6/12/2023#
控制台中输出日期。
Sub date1()
Debug.Print #6/12/2023#
End Sub
6 TypeName查看各常量的数据类型
TypeName函数用于查看数据的类型。
语法:
TypeName(数据)
示例
Sub getDataType()
Debug.Print TypeName("小步教程,VBA") '输出 String
Debug.Print TypeName(2023) '输出 Integer
Debug.Print TypeName(2023.61) '输出 Double
Debug.Print TypeName(True) '输出 Boolean
Debug.Print TypeName(#6/12/2023#) '输出 Date
End Sub
运行结果如下:
问题:为什么VBA有的地方用小括号?有的地方不用小括号?
有返回值时为函数Function,调用时需小括号。
无返回值时为过程Sub,调用时不需小括号。
7 系统内置常量
系统中包含内置常量,特别是以vb开头的常量,用于各函数的参数。
以MsgBox为例
MsgBox "系统常量演示.from 小步教程 xiaobuteach.com", vbOKOnly
vbOkOnly表示仅显示 确定按钮。
vbOkOnly的值实际为整数0,通过常量提高代码的编写与阅读。
MsgBox "系统常量演示.from 小步教程 xiaobuteach.com", 0
运行效果相同。推荐使用常量方式。
MsgBox "系统常量演示.from 小步教程 xiaobuteach.com", vbOKCancel
vbOkCancel表示显示确定与取消两个按钮。
vbOKCancel的值为整数1。
MsgBox "系统常量演示.from 小步教程 xiaobuteach.com", 1
运行效果相同。推荐使用常量方式。