excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel-VBA基础(14):VBA中控制结构介绍(循环类)

For…To…Next语句

可以使用For…To…Next语句去重复一个语句块,而重复次数的数值是指定的。For 循环使用一个计数变量,当重复每个循环时计数变量的数值会增加或减少。

使用For…To…Step…Next,其中Step可以指定增加(正数)或减少(负数)步长值。

可以在计数变量到达它的结束值之前,使用 Exit For 语句来退出For…To…Next语句,其中可以用If…Then…Else…End If语句作判断。

示例如下:

Sub NewTotal()

Dim myNum As Integer, Total As Integer

For myNum = 16 To 2 Step -2 'myNum从16到2循环,每次减少2

Total = Total + myNum 'Total变量累加myNum变量的数值

If myNum < 5 Then '如果myNum值小于5时退出循环

Exit For

End If

Next

MsgBox "The total is " & Total '显示累加的Total变量的数值

End Sub

For Each

For Each…Next语句作用于集合中的每个对象或是数组中的每个元素。当循环执行一次VBA会自动设置一个变量,例如:

Sub ForEachSheet()

Dim wkSheet As Worksheet 'wkSheet定义为工作表类型的变量

'在本工作簿之内所有工作表中循环

For Each wkSheet In ThisWorkbook.Worksheets

MsgBox wkSheet.Name '显示每个工作表的名称

Next

End Sub

可以在循环体中使用Exit For语句来退出循环。

Do

可以使用Do…Loop语句循环执行其中的语句块,循环执行所用的时间是不确定的,当程序编制有错误时,容易进入死循环。所以一定要检查好循环中的跳出逻辑条件,当条件为True或直到条件变成True时,循环终止。

1.Do While条件…Loop

只有当满足条件时才进入循环体,例如:

Sub doWhile1()

Dim I As Integer

Do While I < 10 'I小于10时,循环继续

I = I + 1 '累加I变量值

Loop

End Sub

2.Do…Loop While条件

先进入循环体执行一次,然后再判断是否满足条件,例如:

Sub doWhile2()

Dim I As Integer

Do

I = I + 1 '累加I变量值

Loop While I < 10 'I小于10时,循环继续

End Sub

3.Do until条件…Loop

只有当达到条件时,才退出循环体,例如:

Sub doWhile3()

Dim I As Integer

Do Until I = 10 'I等于10时,退出循环

I = I + 1 '累加I变量值

Loop

End Sub

4.Do…Loop until条件

先进入循环体,直到满足条件时,才退出循环,例如:

Sub doWhile4()

Dim I As Integer

Do

I = I + 1 '累加I变量值

Loop Until I = 10 'I等于10时,退出循环

End Sub

5.Do…Loop,没有任何条件,循环体中用If…Then…Else…End If语句判断,如果符合条件,用Exit Do语句退出循环。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接