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

时间:2022-03-03 03:09:54 

第一部分: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的结果值。

标签:excel,for循环语句
0
投稿

猜你喜欢

  • Word如何快速批量地删除多余空行?

    2023-11-15 09:59:53
  • Excel中进行设置顶端标题行的操作方法

    2022-02-28 00:22:52
  • Win10怎样更改/删除pin码?Win10更改删除pin码的技巧

    2023-08-29 06:10:12
  • word怎么办?word文件打不开

    2022-09-04 11:54:32
  • 如何在手机wps表格中设置自动换行

    2023-05-24 16:40:13
  • 介绍F4快捷键的作用

    2023-01-27 13:32:30
  • 这种高难度的Excel多层柱形图,99%的人都不会

    2022-02-22 15:38:41
  • KB4539080更新了什么?KB4539080更新内容介绍

    2023-11-10 20:11:46
  • 不能覆盖仪表盘上的传感器-仪表盘为什么不用数字显示?-excel学习网

    2023-09-27 05:23:12
  • Excel工作表打印技巧

    2022-11-05 20:41:11
  • 在Word2010文档中设置SmartArt图形颜色

    2023-12-12 11:56:23
  • word2003第二页怎样设置为第一页显示

    2022-08-08 23:30:48
  • 如何在Word2010中设置艺术字文字发光效果

    2023-06-01 12:27:57
  • Excel中PV函数的语法和用法

    2022-05-26 13:25:53
  • win10安装杜比提示无法启动Dolby怎么办?win10安装杜比提示无法启动Dolby解决教程

    2023-11-07 00:51:49
  • 如何在excel2019中合并标题行单元格并且居中的操作方法

    2023-01-28 09:45:50
  • Win10电脑桌面图标拖不动怎么回事?Win10桌面图标无法拖拽解决方法

    2023-06-05 14:01:26
  • excel同一列数值同时乘以固定值的方法

    2023-09-28 10:25:03
  • excel如何使用替换功能

    2023-05-18 00:06:05
  • 在Word2007文档中添加文字水印和文字水印的方法步骤(图文)

    2022-02-10 06:45:40
  • asp之家 电脑教程 m.aspxhome.com