zoukankan      html  css  js  c++  java
  • 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    
    

      

      

  • 相关阅读:
    oracle 判断字符串是否包含指定内容
    java 如何使用多线程调用类的静态方法?
    oracle 快速复制表结构、表数据
    oracle 清空表数据的2种方式及速度比较
    一、Instrument之Core Animation工具
    net登录积分(每天登录积分仅仅能加一次) 时间的比較
    正规方程 Normal Equation
    笑谈贝叶斯网络(干货)上
    SQL SERVER 面试题
    好的创始人想要改变世界,最好的创始人还要不放弃——扎克伯格清华中文演讲
  • 原文地址:https://www.cnblogs.com/jp-mao/p/9878088.html
Copyright © 2011-2022 走看看