vb for语句循环(vbs for循环语句)

vb for语句循环(vbs for循环语句)如果在 VBA 程序中 需要多次执行同一任务 即重复同一段代码 则可以使用循环来完成 VBA 循环类型包括 For 循环 For Loop Do While 循环 Do While Loop Do Until 循环 Do Until Loop 下面分别讨论每种循环类型 For 循环采用两种不同的形式 即 For Next 循环和 For Each 循环 For

大家好,我是讯享网,很高兴认识大家。



如果在VBA程序中,需要多次执行同一任务(即重复同一段代码),则可以使用循环来完成。

VBA循环类型包括:

  • For循环For Loop
  • Do While循环Do While Loop
  • Do Until循环Do Until Loop

下面分别讨论每种循环类型。

For循环采用两种不同的形式,即For … Next循环和For Each循环。

For … Next循环使用一个变量,该变量遍历指定范围内的一系列值,对每个值执行循环体中的代码,如下所示:

esayExcel 循环表格_数组
讯享网

示例中的For … Next循环设置变量i的值为1、2、3、…、10,并且对于每一个值,都执行同一段代码。因此,在上面的例子中,循环将数组iArray的每个元素值加到变量Total中。

上面的示例中没有指定步长,因此循环从1增长到10的过程中,使用默认步长1。但是,也可以使用不同的步长来执行循环,使用Step关键字实现这一功能,如下所示:

esayExcel 循环表格_数组_02

在上面的示例中,步长被指定为0.1,因此每次循环时,变量d的值依次设置为0.0、0.1、0.2、0.3、…、9.9、10.0。

也可以使用负步长,如下所示:

esayExcel 循环表格_marquee 循环显示变量_03

在上面的示例中,步长被指定为-1,因此循环将变量i依次设置为值10、9、8、…,1。

For Each循环类似于For … Next循环,但是For Each循环遍历一组对象中的每个对象,而不是获取变量的一系列值。例如,以下代码使用For Each循环列出当前Excel工作簿中每个工作表:

esayExcel 循环表格_子程序_04

Exit For语句用于提前退出For循环,该语句将导致VBA跳出循环并继续执行循环体外的下一行代码。例如,在数组中搜索特定值时,使用循环检查数组的每个元素,一旦找到目标值,就不需要再继续搜索,此时可以提前退出循环。

下面的示例Exit For语句的使用,代码循环遍历100个数组元素,并将每个元素与值dVal进行比较,如果找到dVal值,循环将提前退出:

esayExcel 循环表格_子程序_05

当指定的条件求值为True时,Do While循环重复执行一段代码。如下子程序所示,Do While循环用于打印Fibonacci序列的所有值,直到当前值大于1000时停止循环:

esayExcel 循环表格_数组_06

同以上可以看出,条件iFib_Next<1000在循环开始时被测试。因此,如果iFib_Next的第一个值大于1000,则根本不会执行循环。

还可以把Do While循环的条件测试放在循环的末尾,这将导致循环至少执行一次,而不管条件最初的计算结果是否为True。

以下代码显示了Do While循环的另一种形式,在循环末尾测试条件:

esayExcel 循环表格_esayExcel 循环表格_07

Do Until循环与Do While循环非常相似,重复执行一段代码,直到指定的条件计算为True。如下子程序所示,使用Do Until循环从工作表a列的所有单元格中提取值,直到遇到空单元格为止:

esayExcel 循环表格_子程序_08

在上面的例子中,由于条件IsEmpty(Cells(iRow,1))处于Do Until循环的开始,因此只有遇到的第一个单元格非空时,才会进入循环。

与Do While循环相同,如果希望至少进入一次循环,而不管初始条件如何,在这种情况下,条件可以放在循环的末尾,如下所示:

esayExcel 循环表格_esayExcel 循环表格_09

小讯
上一篇 2025-05-23 08:47
下一篇 2025-04-22 10:29

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/179296.html