1、VBA的基本语句结构
1.1循环结构
VBA中有三种循环结构,Do……Loop;While…..Wend;For..next;
1.1.1 Do…..Loop语句有四种结构,它们的语法是:
(1)Do While……Loop结构:当满足条件时,执行循环。遇到Exit Do将跳出循环。
Do While 条件
语句
[Exit Do]
语句
Loop
(2)Do….Loop While结构:先执行一次,当条件满足时,执行循环。
Do
语句
[Exit Do]
语句
Loop While 条件
(3)Do Until….Loop结构:如果条件不满足时,执行循环。
Do Until条件
语句
[Exit Do]
语句
Loop
(4)Do….Loop Until结构:先执行一次,当条件不满足时,执行循环。
Do
语句
[Exit Do]
语句
Loop Until条件
1.1.2 While…..Wend循环:当条件为真的时候,执行循环。会首先判断条件是否为真。
While 条件
语句
Wend
1.1.3 For …..Next语句
(1)For …..Next
For counter = start To end [Step number]
语句
[Exit For]
语句
Next [counter]
这个循环的意思是,counter从start开始记数,到大于或等于end结束,每次循环增加number。
(2)For Each…..Next
For Each 元素变量 In 集合名称或数组名称
语句
[Exit For]
语句
Next 元素变量
这个循环的意思是,从集合或数组中依次循环取出元素变量。
小例:
Sub cs()
Dim sht As Worksheet, n As Integer//定义sht与n
n = 1
For Each sht In Worksheets//从Excel表格中取出每一个分表。
Cells(n, "A") = sht.Name//将每一个分表的名称写入当前处于最外层的分表的第n行。
n = n + 1//n依次加1
Next sht//结束循环
End Sub
1.2判断语句
1.2.1 if…Then结构
(1)If 条件 Then 结果
例如:if Time< 0.5 Then MsgBox”上午好“//如果时间在12点之前,刚弹出对话框提示”上午好“
(2)if….Then…Else
语法:
If 条件 Then
结果1
Else
结果2
End If
1.2.2 Select Case语句
语法:
Select Case 判断的对象
Case 条件1
语句1
Case 条件2
语句2
Case 条件3
语句3
Caes Else
其他语句
End Select
1.3其他结构
1.3.1 GoTo语句//不推荐使用
1.3.2With语句
在Excel VBA中有时会遇到这样的情况,需要对相同的对象进行多次操作。此时,可以使用With语句避免重复。
语法为:
With 要进行操作的对象
操作1
操作2
操作3
……
End With
小例:
Sub cs()
With Worksheets("sheet1").Range("A1").Font//设定表sheet1中的A1列为操作对象
.Name = "黑体"//设置字体为黑体
.Size = 14//设置字体大小为14号字体
.Color = -16776961//设置字体颜色为红色
.Bold = True//设置字体加粗
End With//结束语句
End Sub