VBA学习_5:流程控制

1、If

If Range("B2").Value >=60 Then Range("C2").Value ="及格" Else Range("C2").Value="不及格"
'如果。。。那么。。。。否则。。。。
If Range("B2").Value >= 60 Then
   Range("C2").Value = "及格"
Else
   Range("C2").Value = "不及格"
End If
If Range("B2").Value >= 90 Then
    Range("C2").Value = "优秀"
ElseIf Range("B2").Value >= 80 Then
    Range("C2").Value = "良好"
ElseIf Range("B2").Value >= 60 Then
    Range("C2").Value = "及格"
Else
    Range("C2").Value = "不及格"
End If

2、Select Case

Select Case Range("B2").Value
    Case Is >= 90
        Range("C2").Value = "优秀"
    Case Is >= 80
        Range("C2").Value = "良好"
    Case Is >= 60
        Range("C2").Value = "及格"
    Case Else
        Range("C2").Value = "不及格"
End Select 

3、For....Next

Sub ShtAdd()
   Dim i As Byte  '定义一个byte类型变量
    For i = 1 To 5 Step 1
        Worksheets.Add  '在活动工作表前插新工作表
    Next i
End Sub
Sub ShtAdd()
   Dim i As Byte  '定义一个byte类型变量
    For i = 1 To 5 Step 1
        Worksheets.Add  '在活动工作表前插新工作表
        Exit For '退出For循环
    Next i
End Sub

'方法一
Sub Test() Dim i As Byte Dim Irow As Byte Irow = 2 For i = 1 To 4 Step 1 Select Case Range("B" & Irow).Value Case Is >= 90 Range("C" & Irow).Value = "youxuo" Case Is >= 80 Range("C" & Irow).Value = "lianghao" Case Is >= 60 Range("C" & Irow).Value = "jigei" Case Else Range("C" & Irow).Value = "bujigei" End Select Irow = Irow + 1 Next i End Sub

'方法二
Sub Test()
    Dim i As Byte
    For i = 2 To 5 Step 1
        Select Case Range("B" & i).Value
            Case Is >= 90
                Range("C" & i).Value = "youxuo"
            Case Is >= 80
                Range("C" & i).Value = "lianghao"
            Case Is >= 60
                Range("C" & i).Value = "jigei"
            Case Else
                Range("C" & i).Value = "bujigei"
        End Select
    Next i
End Sub

 用For Each....Next语句循环处理集合或者数组中的成员

Sub ShtName()
    Dim sht As Worksheet, i As Integer '定义Worksheet类型变量sht
    i = 1
    For Each sht In Worksheets
        Range("A" & i) = sht.Name
        i = i + 1
    Next sht
End Sub

 Do While和Do Until(Do While False退出, Do Until True退出)

Sub ShtAdd()
    Dim i As Byte
    i = 1
    Do While i<=5
        Worksheets.Add
        i = i+1
End Sub

Sub ShtAdd()
    Dim i As Byte
    i = 1
    Do 
        Worksheets.Add
        i = i+1
    Loop While i<=5
End Sub

Sub ShtAdd()
    Dim i As Byte
    i = 1
    Do 
       If i>5 Then Exit Do
        Worksheets.Add
        i = i+1
    Loop 
End Sub

 GOTO让程序转到指定语句执行

Sub Sum_Test()
    Dim mysum As Long, i As Integer
    i = 1
    x: mysum = mysum + 1
    i = i + 1
    if i <= 100 Then GoTo x
    MsgBox "1到100和:"&mysum
End Sub

 With简写代码(对同一对象操作时)

Sub FontSet()
    Worksheets("Sheet1").Range("A1").Font.Name = '仿宋' '字体
    Worksheets("Sheet1").Range("A1").Font.size = '12 '字号
    Worksheets("Sheet1").Range("A1").Font.Bold = True '字体加粗
    Worksheets("Sheet1").Range("A1").Font.ColorIndex = 3 '红色
End Sub


Sub FontSet()
    With Worksheets("Sheet1").Range("A1").Font
        .Name = '仿宋' '字体
        .size = '12 '字号
        .Bold = True '字体加粗
        .ColorIndex = 3 '红色
    End With
End Sub    

  

  

原文地址:https://www.cnblogs.com/jp-mao/p/9878088.html