Excel VBA高效办公应用-第二章-Excel VBA编辑基础-Part4(VBA控制语句)

来源:互联网 发布:王珊数据库视频教程 编辑:程序博客网 时间:2024/05/03 12:57

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 ExplicitSub Questions()Dim Question As String    Question = "怎么去青年出版社吗?"    'MsgBox函数用户输出对话框信息!    MsgBox "我是李四,请问:" & Chr(10) & Chr(13) _        & "你知道," & QuestionEnd SubSub 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 SubSub 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 VarFontStEnd SubSub 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 SubSub 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 SubSub 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 IxEnd SubSub 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 IxEnd SubSub WithEndWith()    '使用With语句,单元格区域为参数    With Worksheets("Sheet1").Range("D12:G15")        '把单元格的值都改变为200        .Value = 200        '把单元格字体设置成“斜体”        .Font.Bold = True        '为单元格设置底色        .Interior.Color = RGB(255, 255, 0)    End WithEnd SubSub 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    LoopEnd SubSub EndStatements()    '定义两个变量,默认的情况下是变体类型    Dim PasswordInput, PasswordSet    '把12345字符串赋予PasswordSet变量    PasswordSet = "12345"    '把InputBox函数返回用户输入的密码字符串赋予PasswordInput变量    PasswordInput = InputBox("请输入密码:")    '判断输入的密码与设定的密码是否相等    If PasswordInput <> PasswordSet Then        '如果不相等,则弹出密码错误信息,并且结束本过程        MsgBox "对不起,你输入的密码错误,请重新输入!"        End    End IfEnd Sub


后记:熟悉各种控制机构应该是编程的基本素养,感谢VBA学习,让我对编程有了更深层次的认识。


阅读全文
0 0
原创粉丝点击