vba 跳出for循环_VBA的基本语句

‘块’的形式的VBA语句比完整一行的代码功能和适用性方面更强。

一、IF语句

二选一:

IF 条件表达式 THEN
     条件表达式返回True时要执行的操作和计算
[ELSE
     条件表达式返回False时要执行的操作和计算]
END IF

多选一:

IF 条件表达式 THEN      
     条件表达式返回True时要执行的操作和计算 
ELSEIF 条件表达式 THEN     
     条件表达式返回False时要执行的操作和计算 
ELSEIF 条件表达式 THEN      
     条件表达式返回False时要执行的操作和计算 
[ELSE      
     条件表达式返回False时要执行的操作和计算]
END IF 

二、Select Case语句

Select Case 表达式
    Case Is 条件表达式1                                   ‘如Case Is >8或者Case 1 to 8
          条件表达式返回False时要执行的操作和计算
    Case Is 条件表达式2
          条件表达式返回False时要执行的操作和计算
    Case Is 条件表达式3
          条件表达式返回False时要执行的操作和计算
    Case ELSE
          条件表达式返回False时要执行的操作和计算
End Select
'多选一

Case Select相比于IF的多选一判断,适用性更强

三、For …Next语句

For 循环变量=初值 to 终值 [step 步长值]
    循环体(要循环执行的操作或计算)
    [Exit For]                        '不论设置循环执行多少次,当执行Exit For时,直接执行Next语句之后的代码
    [循环体]
Next [循环变量名]

例1:

Public Sub 插入奇数() 
Dim xrows As Byte  
For xrows = 1 To 99 Step 2  
Cells((xrows + 1) / 2, "A") = xrows  
Next xrows End Sub  
'找出100以内的奇数

例2:

Public Sub 被3整除的数() 
Dim i As Byte 
For i = 3 To 99 Step 3 
Cells(i / 3, "A") = i 
Next i 
End Sub 
'找出100以内能被3整除的数

四、For Each… next语句

For each 变量 in 集合名称或数组名称
    语句块1
    [Exit For]
    [语句块2]
Next [元素变量]
'如果在数组中循环,变量定义为相应的数据类型,如果是在数组中循环,变量定义为Variant类型

例:

Public Sub 插入sheet名()
Dim sht  As Worksheet, i As Integer
i = 1
For Each sht In Worksheets
Cells(i, "A") = sht.Name
i = i + 1
Next sht
End Sub
'插入工作簿中的工作表名

五、Do While语句

开头判断式:

Do [While 循环条件]
   循环体
   [Exit Do]
   [循环体]
Loop
'如果循环体中存在Exit Do语句将跳出循环,执行Loop后语句

结尾判断式:

Do 
   循环体
   [Exit Do]
   [循环体]
Loop [While 循环条件]

使用结尾判断式语句会比开头判断式多执行一次循环体

例1:

Public Sub ShtAdd()
    Dim i as byte
    i=1
    Do
        Worksheets.Add
        i=i+1
    Loop While i<=5
End Sub

例2:

Public Sub ShtAdd2()
    Dim i as byte
    i=1
    Do
        If i>5 Then Exit Do
        Worksheets.Add
        i=i+1
    Loop 
End Sub

六、Do Until

开头判断式:

Do [Until循环条件]    
    循环体    
   [Exit Do]    
   [循环体] 
Loop

结尾判断式:

Do 
   循环体
   [Exit Do]
   [循环体]
Loop [Until 循环条件]

Do While语句和Do Until用法基本相同,不同的是Do while语句在循环条件为False时退出循环,Do

Until语句在循环条件为True时退出循环。

例:

Public Sub 新建工作表()
Dim i As Integer
i = 1
Do Until i > 5
Worksheets.Add
i = i + 1
Loop
End Sub

七、GoTo语句

让程序跳转到目标地址

例:

Public Sub 跳转()
Dim sum As Long, i As Integer
i = 1
x: sum = sum + i
i = i + 1
If i <= 100 Then GoTo x
MsgBox "1到100的自然数和是:" & sum
End Sub

八、With语句

减少录入重复代码的次数及提高程序的运行效率

例:

Public Sub 简化()
 With Worksheets("sheet1").Range("A1").Font
 .Name = "宋体"
 .Size = 12
 .Bold = True
 .ColorIndex = 3
 End With
 End Sub
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值