书写规范
1)VBA不区分标识符的字母大小写;
2)为了严谨的编程风格,最好一行只写一条语句,语句间用冒号:隔开;
3)一条长语句可以多行书写,以空格加下划线_来标识下此行为续行即可;
4)表示符最好简单明了
标识符
命名规则
1)字母开头,可以由字母、数字和下划线组成
2)字母长度小于40
3)不能与保留字重名(例如public、private、dim等等)
常用运算符
符号 | 说明 |
---|---|
= | 赋值运算符;关系运算符=(相同) |
+ | 加运算 |
- | 减运算 |
* | 乘运算 |
/ | 除运算 |
^ | 指数运算 |
Mod | 取余运算 |
& | 字符连接符 |
<> | 不相等 |
> | 大于 |
< | 小于 |
>= | 不小于 |
<= | 不大于 |
数据类型
VBA中有12中数据类型,如下表所示
数据类型 | 说明 | 类型标识符 | 字节长度 |
---|---|---|---|
String | 字符串型 | $ | 0-65400 |
Byte | 字节型 | 无 | 1 |
Boolean | 布尔型 | 无 | 2 |
Integer | 整数型 | % | 2 |
Long | 长整型 | & | 4 |
Single | 单精度型 | ! | 4 |
Double | 双精度型 | # | 8 |
Date | 日期型 | 无 | 8 |
Currency | 货币型 | @ | 14 |
Decimal | 小数点型 | 无 | 14 |
Variant | 变体型 | 无 | |
Object | 对象型 | 无 | 4 |
变量与常量
变量类型 | 说明 | 声明方式 |
---|---|---|
Dim | 局部变量 | Dim A as integer ‘定义A为整型,且为局部变量 |
Private | 私有变量 | Private A as integer |
public | 公有变量 | Public A as integer |
Global | 全局变量 | Global A as integer |
Static | 静态变量 | Static A as integer |
VBA允许使用为定义的变量,默认是变体变量;
在模块通用说明部分,加入Option Explicit语句可以强迫用户进行变量定义;
用Const定义,且定义时赋值,程序中不能改变值,eg:Const Pi=3.14 as single
注释语句
注释语句以单引号开头 例如下图的 ’结果x100就是注释语句。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Sheet1.Cells(2, 5) = Sheet1.Cells(2, 3) * 100 '结果×100
End Sub
常用判断语句
If…Then…Else语句
注意写if语句一定要以 End If 结尾,否者会报错。
直接用例子说明:
还是原来那个测试表,如图
写一个逻辑,当结果值大于 90 时,判断列显示优秀,否者显示一般。
代码如下:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If (Sheet1.Cells(3.5) > 90) Then
Sheet1.Cells(3, 6) = "优秀" '大于90分显示优秀
Else
Sheet1.Cells(3, 6) = "一般" '小于90显示一般
End If 'if结束必须有end if,否则会报错
End Sub
在VBA的界面中是这样的:
做好后保存。运行效果如下: