Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 12633|回复: 23

[VBA学习资料] 兰校长讲的do loop循环结构及与for next的区别

  [复制链接]
发表于 2012-2-21 22:49 | 显示全部楼层 |阅读模式
本帖最后由 石名潍 于 2012-2-21 23:14 编辑

(以下内容但是我从一本VBA书的一字一字打上来的,路过的打赏一点BB,经验什么的吧)


在使用for...next循环结构时,必须先给定一个循环结束值,也就是需要事先知道要循环的次数。do...loop循环结构则不需要知道循环的次数。因而它用掉的时间是不确定的,只要判定条件为ture或false,此循环就会一直进行下去。因此,在很多情况下,使用do...loop循环结构要优于for...next循环结构。

但是兰校长又说,在大多数情况下,还是使用for...next的时候多。

评分

参与人数 4 +14 收起 理由
tony3 + 9
linch92413 + 3 赞一个!
tytytty + 1 很给力!
jiahua1010 + 1 分太多楼层了,看着不方便,要是发在一个楼.

查看全部评分

 楼主| 发表于 2012-2-21 22:51 | 显示全部楼层
do...loop循环结构的形式

do...loop循环结构有下述4种不同的结构语法形式。

回复

使用道具 举报

 楼主| 发表于 2012-2-21 22:52 | 显示全部楼层
第一种结构:当判定条件为T时就执行语句块,否则就跳到循环体外。

do while 判定条件
      语句块
loop
回复

使用道具 举报

 楼主| 发表于 2012-2-21 22:53 | 显示全部楼层
第二种结构:当判定条件为T时就执行语句块,否则就跳到循环体外。
do
语句块
loop while 判定条件
回复

使用道具 举报

 楼主| 发表于 2012-2-21 22:55 | 显示全部楼层
第三种结构:当判定条件为F时就执行语句块,否则就跳到循环体外

do until 判定条件

语句块

loop
回复

使用道具 举报

 楼主| 发表于 2012-2-21 22:56 | 显示全部楼层
第4种结构:当判定条件为F时就执行语句块,否则就跳到循环体外

do

语句块

loop until 判定条件
回复

使用道具 举报

发表于 2012-2-21 23:11 | 显示全部楼层
我们接触到的大部分程序,循环在开始就能确定的,所以一般用FOR的次数多
回复

使用道具 举报

发表于 2012-2-22 07:57 | 显示全部楼层
本帖最后由 jiahua1010 于 2012-2-22 08:01 编辑

有些循环次数虽然不是完全确定的,但是可以用一个变量来表示,同样可以用for语句。例如:
For i = 1 To 9
   For j = i To 9   '循环次数也不是完全确定,但是可以用一个变量来表示
    Cells(j, i) = i & "*" & j & "=" & i * j
   Next
Next
总体感觉for语句比do语句更易懂,循环次数也不容易出错。
回复

使用道具 举报

发表于 2012-2-22 08:07 | 显示全部楼层
谢谢讨论,加深学习!
回复

使用道具 举报

发表于 2012-2-22 08:29 | 显示全部楼层
认真学习,加强理解!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-28 23:53 , Processed in 1.175932 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表