1. 赋值语句
Variable = expression
2. 循环语句
a. For...Next语句(在指定次数的情况下进行重复操作)
b. For Each ...Next语句(用于遍历集合中的每个元素重复元素,执行重复操作)
c. Do...Loop语句(不知道循环次数时使用起来事半功倍(反之,可使用For...Next或For Each ...Next语句))
c1. Do While...Loop
c2. Do Until ...Loop
3. 判断语句
a. If...Then...Else语句 (根据表达式的值进行判断)
b. Select Case语句 (根据表达式的值决定执行一系列固定的语句组合中的某一段语句)
4. 其他语句
a. With语句
b. While...Wend
c. Exit (用于退出Do...Loop, For...Next, Function, Sub或Property代码块)
d. End语句 (用于结束一个过程或块)
Option Explicit
Sub Questions()
Dim Question As String
Question = "怎么去青年出版社吗?"
'MsgBox函数用户输出对话框信息!
MsgBox "我是李四,请问:" & Chr(10) & Chr(13) _
& "你知道," & Question
End Sub
Sub ForNext()
'定义用于循环的整型变量
Dim Ix As Integer
'定义用于保存计算结果的整型变量
Dim Iy As Integer
'为Iy赋初值
Iy = 0
For Ix = 1 To 100
Iy = Iy + Ix
Next Ix
'把Iy计算结果赋予选中单元格
ActiveCell.Value = Iy
'输出提示信息
MsgBox "计算结果为" & Iy & Chr(10) & Chr(13) _
& "结果放到工作表中。"
End Sub
Sub ForEachNext()
'定义用于读取单元格内内容的变体型变量
Dim VarFontSt As Variant
'定义用于循环的整型变量
Dim Ix As Integer, Iy As Integer
'使用For...Next语句插入数据
For Ix = 1 To 15
For Iy = 1 To 7
'把单元格的值设置成为其行与列值相加
Cells(Ix, Iy).Value = Ix + Iy
Next Iy
Next Ix
'使用For Each...Next语句改变字体颜色和大小
For Each VarFontSt In Range("A1:D4")
'为单元格的字体设置字体颜色
VarFontSt.Font.ColorIndex = 7
'为单元格的字体设置字体大小
VarFontSt.Font.Size = 15
Next VarFontSt
End Sub
Sub DoWhileLoop()
'定义用于循环的整型变量
Dim Ix As Integer
'定义用于保存循环次数的整型变量
Dim Iy As Integer
'为变量赋初值
Ix = 0
Iy = 6
'使用Do While……Loop语句计算循环次数
Do While Iy > 3
Iy = Iy - 1
Ix = Ix + 1
Loop
'输出计算的循环次数结果
MsgBox "此循环总共循环了 " & Ix & " 次!"
End Sub
Sub DoUntilLoop()
'定义用于循环的整型变量
Dim Ix As Integer
'定义用于保存循环次数的整型变量
Dim Iy As Integer
'为变量赋初值
Ix = 0
Iy = 6
'使用Do Until……Loop语句计算循环次数
Do Until Iy = 3
Iy = Iy - 1
Ix = Ix + 1
Loop
'输出计算的循环次数结果
MsgBox "此循环总共循环了 " & Ix & " 次!"
End Sub
Sub IfThenElse()
'定义用于循环的整型变量
Dim Ix As Integer, Iy As Integer
'使用For……Next循环语句
For Ix = 4 To 15
For Iy = 4 To 7
'判断单元格的值是否大小15
If Cells(Ix, Iy).Value > 15 Then
'如果单元格的值大小15,则改变其字体颜色
Cells(Ix, Iy).Font.ColorIndex = 7
Else
'如果单元格的值不大小15,则在其后面添加“<=15”字符串
Cells(Ix, Iy).Value = Cells(Ix, Iy).Value & "<=15"
End If
Next Iy
Next Ix
End Sub
Sub SelectCase()
'定义用于循环的整型变量
Dim Ix As Integer, Iy As Integer
'使用For……Next循环语句
For Ix = 1 To 15
For Iy = 1 To 3
'使用Select Case语句判断单元格的值
Select Case Cells(Ix, Iy).Value
'如果单元格的值在2与7之间,则在其后面添加“%A”
Case 2 To 7
Cells(Ix, Iy).Value = Cells(Ix, Iy).Value & "%A"
'如果单元格的值在7与11之间,则在其后面添加“%A”
Case 7 To 11
Cells(Ix, Iy).Value = Cells(Ix, Iy).Value & "%B"
'如果单元格的值在11与15之间,则在其后面添加“%A”
Case 11 To 15
Cells(Ix, Iy).Value = Cells(Ix, Iy).Value & "%C"
'如果单元格的值在15与18之间,则在其后面添加“%A”
Case 15 To 18
Cells(Ix, Iy).Value = Cells(Ix, Iy).Value & "%D"
End Select
Next Iy
Next Ix
End Sub
Sub WithEndWith()
'使用With语句,单元格区域为参数
With Worksheets("Sheet1").Range("D12:G15")
'把单元格的值都改变为200
.Value = 200
'把单元格字体设置成“斜体”
.Font.Bold = True
'为单元格设置底色
.Interior.Color = RGB(255, 255, 0)
End With
End Sub
Sub ExitStatements()
'定义用于循环的整型变量
Dim Ix As Integer, MyNum As Single
'建立无穷循环
Do
For Ix = 1 To 1000
'生成0到1000的随机数字
MyNum = Int(Rnd * 1000) '生成一随机数码
'判断生成的随机数字
Select Case MyNum
'如果是19,退出 For...Next 循环
Case 19: Exit For
'如果是 29,退出 Do...Loop 循环
Case 29: Exit Do
'如果是 39,退出子过程
Case 39: Exit Sub
End Select
Next Ix
Loop
End Sub
Sub EndStatements()
'定义两个变量,默认的情况下是变体类型
Dim PasswordInput, PasswordSet
'把12345字符串赋予PasswordSet变量
PasswordSet = "12345"
'把InputBox函数返回用户输入的密码字符串赋予PasswordInput变量
PasswordInput = InputBox("请输入密码:")
'判断输入的密码与设定的密码是否相等
If PasswordInput <> PasswordSet Then
'如果不相等,则弹出密码错误信息,并且结束本过程
MsgBox "对不起,你输入的密码错误,请重新输入!"
End
End If
End Sub
后记:熟悉各种控制机构应该是编程的基本素养,感谢VBA学习,让我对编程有了更深层次的认识。