首页 > Excel专区 > Excel函数 >

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

Excel函数 2023-01-08

第一部分: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循环语句程序生成。

for循环语句

代码如下:
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键,逐语句测试,如下图所示:

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的结果值。


Copyright © 2016-2023 office学习教程网 office.tqzw.net.cn. All Rights Reserved.