http://www.yuyong.net

excel VBA中for循环语句的用法,并通过两个小实例来理解for next循环语句

第一部分:for next循环语句用法和理解 VBA中for循环语句是程序流程控制语句。For Next 循环语句是编程中几乎不可缺少的语句。 什么是循环语句呢?循环语句就是指重复地执行语句块。...

第一部分:for next循环语句用法和理解

  VBA中for循环语句是程序流程控制语句。For Next 循环语句是编程中几乎不可缺少的语句。

  什么是循环语句呢?循环语句就是指重复地执行语句块。

  理解for next循环语句,有一个经典的解释。两万米长跑比赛,每圈400米。一圈,两圈,三圈......直到跑满50圈才停止。就是在循环地在跑道上执行跑步的动作。

  for next循环语句的句式如下:

For 循环变量=初值 to 终值 step 步长

循环体1

[exit for]

循环体2

next 循环变量

  for next循环语句句式理解:

  从开始到结束,反复执行For和Next之间的指令块,除非遇到Exit For语句,将提前跳出循环。

  其中,步长和Exit For语句以及Next后的循环变量均可省略,步长省略的时候默认为1。

  Exit for 语句是强制终止循环的语句,执行它后将退出循环,执行next后面的语句。

  对for next循环语句句式进行了初步的认识后,用这个句式来叙述上面跑步的问题,将其编成程序,20000米,要跑50圈,也就是要50次,跑1圈,2圈。。。。直到满50圈才停止循环跑步,当然,如果要提前退赛,就不用跑满50圈了。for next循环语句程序可以写成:

Sub 循环跑步()

dim 圈数 as byte

for 圈数=1 to 50 step 1

If 学生.要求=退赛

exit for

End If

Next 圈数

End Sub

  这不是一个完整的程序,只是帮助对For next循环语句的理解而已。

第二部分:for next循环语句实例练习

1.从A1单元格开始,对角线生成1-20的数字。要求:用一段fox next循环语句程序生成。

excel VBA中for循环语句的用法,并通过两个小实例来理解for next循环语句

代码如下:

Sub 循环()

Dim a As Byte

For a = 1 To 20 Step 1

Cells(a, a) = a

Next a

End Sub

代码解释:

  sub 和end sub之间是一个过程

  Dim a As Byte:申明变量a的类型为byte。如果省略此句,不做申明,变量将被指定为Variant类型,因为VBA中默认的数据类型是Variant。

  关于变量类型,参考《excel中vba变量类型小结》

  下面的For next是VBA中for next循环语句。

  for next循环语句的句式如下:

For 循环变量=初值 to 终值 step 步长

循环体1

[exit for]

循环体2

next 循环变量

  Cells(行,列) 表示单元格地址。

  上面的代码,按F8键,逐语句测试,如下图所示:

excel VBA中for循环语句的用法,并通过两个小实例来理解for next循环语句

  For next循环语句第一次循环结束,得到结果A1为1。就是变量a第一次的值为1,将值套进单元格就是cells(1,1)=1,所以A1为1。

  继续按F8键,第二次到next a时,B2为1。这时变量a第二次循环的值为2,将值套进单元格就是cells(2,2)=2,所以B2为2。

  以此类推,继续循环下去,直到变量a的终止值20,结束循环。

  下面这段代码的运行结果等同于上面的代码:

Sub 循环()

For a = 1 To 20

Cells(a, a) = a

Next

End Sub

2.1到100的自然数和

代码如下:

Sub 求和()

Dim a As Long, i As Integer

For i = 1 To 100 Step 1

a = a + i

Next i

MsgBox "1到100的自然数和:" & a

End Sub

解释:先申明变量类型,然后是一个for next循环体,i的值为1到100,变量a的值为a+i,然后用消息框输出循环之后a的结果值。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。