【vba】循环语句

  • vba里面的循环结构:Do…While, Do…Until, For…Next, For…Each, and While…Wend
  • do while
Do While 条件
语句1
语句2
语句N
Loop
  • 示例
Sub ApplyBold()
Do While ActiveCell.Value <>""
ActiveCell.Font.Bold = True
ActiveCell.Offset(1, 0).Select
Loop
End Sub
  • 状态栏显示时间
Sub TenSeconds()
Dim stopme
stopme = Now + TimeValue("00:00:10")
Do While Now < stopme
Application.DisplayStatusBar = True
Application.StatusBar = Now
Loop
Application.StatusBar = False
End Sub

  • do loop while,do单独放在一行,后面不要有内容。
Do
语句1
语句2
语句N
Loop While 条件
  • Exit Do等同于break
  • do until …loop当条件为假的时候不断进行循环
Do Until 条件
语句1
语句2
语句N
Loop
  • 另一种方式
Do
语句1
语句2
语句N
Loop Until 条件
  • 计算器变量
Sub DeleteBlankSheets()
Dim myRange As Range
Dim shcount As Integer
shcount = Worksheets.Count
Do
    Worksheets(shcount).Select
    Set myRange = ActiveSheet.UsedRange
    Debug.Print "myRange.Address:" & myRange.Address
    Debug.Print "Range(A1).Value:" & Range("A1").Value
    If myRange.Address = "$A$1" And _
        Range("A1").Value = 10 Then
        
        Application.DisplayAlerts = False
        Worksheets(shcount).Delete
        Application.DisplayAlerts = True
    End If
    shcount = shcount - 1
Loop Until shcount = 1
End Sub
  • While…Wend等同于do while
  • for next
For 计数器 = 开始 To 结束 [步长]
语句1
语句2
语句N
Next [计数器]
For counter = 1 To 5 Step 3

关键字Next后面的变量名称(counter)也是可选的,然而,好的编程习惯是要强制在关键字Next后面加上计数器。

  • for each…next
For Each 元素 In 组合
语句1
语句2
语句N
Next [元素]
①Exit For语句用来提前退出For…Next或者For Each…Next循环

②Exit Do语句立即退出任何VBA Do 循环
  • 如果你想提前退出子过程,那么可以使用ExitSub语句。如果该过程是一个函数的话,就使用Exit Function语句代替就行。
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值