VBA条件语句和循环结构

条件语句 - If...Then...Else

条件语句 If...Then...Else 用于根据条件执行不同的代码块。语法如下:

If 条件 Then
    ' 如果条件为真,执行这里的代码
Else
    ' 如果条件为假,执行这里的代码
End If

示例程序:

Sub ConditionalExample()
    Dim myNumber As Integer
    myNumber = 42

    If myNumber > 50 Then
        MsgBox "Number is greater than 50"
    Else
        MsgBox "Number is 50 or less"
    End If
End Sub

上述示例中,如果 myNumber 大于 50,则显示 "Number is greater than 50",否则显示 "Number is 50 or less"。

循环结构 - For...Next

For...Next 语句用于循环执行一段代码多次。语法如下:

For 变量 = 初始值 To 终止值
    ' 在这里执行循环体的代码
Next 变量

示例程序:

Sub LoopExample()
    Dim i As Integer

    For i = 1 To 5
        MsgBox "Current value of i is: " & i
    Next i
End Sub

上述示例中,变量 i 从 1 循环到 5,每次循环都显示当前的 i 值。

循环结构 - Do...Loop

Do...Loop 语句用于根据条件循环执行一段代码。语法如下:

Do While 条件
    ' 在这里执行循环体的代码
Loop

示例程序:

Sub DoLoopExample()
    Dim i As Integer
    i = 1

    Do While i <= 5
        MsgBox "Current value of i is: " & i
        i = i + 1
    Loop
End Sub

上述示例中,当 i 小于等于 5 时,不断循环执行代码块。

循环结构 - For Each...Next

For Each...Next 语句用于遍历集合中的每个元素。语法如下:

For Each 元素 In 集合
    ' 在这里执行循环体的代码
Next 元素

示例程序:

Sub ForEachExample()
    Dim cell As Range
    Dim myRange As Range
    
    Set myRange = Worksheets("Sheet1").Range("A1:A5")

    For Each cell In myRange
        MsgBox "Value in cell: " & cell.Value
    Next cell
End Sub

上述示例中,For Each cell In myRange 遍历 myRange 中的每个单元格,并显示其值。

上一篇:
VBA变量和数据类型
下一篇:
引用工作簿、工作表和单元格