热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VBA学习_5:流程控制

1、IfIfRange(B2).Value>60ThenRange(C2).Value及格ElseRange(C2).Value不及格如果。。

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    

  

  


推荐阅读
author-avatar
mobiledu2502863807
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有