excelvba之循环语句

学习VBA之循环语句循环语句,顾名思义,就是让某一段语句反复运行,直到满足了某个条件时,才终止这段语句的运行,循环语句是各种编程语言中不可或缺的语句,它不但能简化程序语言,有时不用循环语句,就无法完成某些工作。在编程语言的编写过程中,它和判断语句一样重要,只有懂得了它的精髓,我们才能让计算机像我们的佣人一样为我们服务,我觉得驾驭计算机,其实是一种乐趣。一.DO….LOOP循环语句1.do……loop循环语句格式:do<执行语句>[执行语句]……<if逻辑表达式thenExitdo>Loop例:dima%DoA=a+1Ifa>10thenexitdoLoopMsgbox“现在变量a的值是:”&a在这个例子里,dim语句和msgbox语句不是循环语句里的,dim语句是定义了一个变量a,msgbox是在循环完成后,弹出个窗口显示循环完成后a的值。Do是循环的开头,loop是循环的结尾,do和loop之间是需要执行的循环语句,中间的if判断语句为当条件为真时,退出循环。在这种循环语句中,循环之初do并不给退出循环的条件,所以循环中间的通过判断语句退出循环必不可少,缺少了判断语句,那就是一个失败的循环,即死循环。在这个循环之中的判断语句,并不一定固定是if…endif这种,它可以是那六种判断语句里的任何一种,但必须得有可行的条件,如果条件不可能实现,就算有判断语句也只能算是失败的循环。如在这个例子中的条件为a<0,就不行。在这个循环一开始,我并没有对变量a进行赋值,它在未赋值的情况下,默认值是0。第一次循环,a=a+1,运行这句后变量a的值就变成了1,然后执行判断语句,这时a的值不符合条件a>10,执行到loop后,程序会自动将运行顺序调到do处,接着执行do下面的语句,直到a的值为11时,条件a>10为真,才会退出循环。有时我们执行循环后,需要得到变量的值,执行语句的顺序不一样,得到的值就不一样,同样是这个例子中DoA=a+1Ifa>10thenexitdoLoop和DoIfa>10thenexitdoA=a+1Loop循环结束后,变量a的值是不一样的,想一想为什么?现在你也许会问,这样的程序有什么用呢?现在我来举个实用的例子:假设现在已打开一个工作簿,当前活动区域为工作表1,内容如下图ABC1姓名成绩2A1903A2544A3665A4876A598我们要将B列成绩为81-90的,在相对应的C列写上”良”,实例如下:Subaa()Dima%A=1DoA=a+1Ifa>6thenExitdoElseIfcells(a,2)>80andcells(a,2)<=90thencells(a,3)=”良”EndifLoopEndsub建一个上面的工作表,运行以上代码,分析每一句运行的作用及含义,自己换一种条件再试,直到理解代码的含义为止。2.DOWHILE…..LOOP循环语句格式:dowhile<逻辑表达式><执行语句>[执行语句]……Loop这个循环语句比上面的那个循环语句多了个逻辑表达式,这个逻辑表达式的值就是退出循环的判断,当这个逻辑表达式的值为真时循环,为假时就退出循环。用这个循环语句就可以省去上面那个循环语句中的退出循环判断语句,达到简化程序的作用。这个循环语句只是比上面的那个循环多了个WHILE<逻辑表达式>,运行的原理还是和上面的循环语句一样的,同样是DO是循环的开头,每循环一次都从DO下面的语句开始,最后以LOOP结束,直到退出循环。同样是上面的工作表,我们用这个DOWHILE…..LOOP语句再做一次:ABC1姓名成绩2A1903A2544A3665A4876A598我们要将B列成绩为81-90的,在相对应的C列写上”良”,实例如下:Subaa()Dima%A=2Dowhilecells(a,2)<>””Ifcells(a,2)>80andcells(a,2)<=90thencells(a,3)=”良”A=a+1LoopEndsub这样写是不是要比上面的那种循环要简化一些?3.DOUNTIL…..LOOP循环语句格式:dountil<逻辑表达式><执行语句>[执行语句]……Loop这个循环语句和第二个循环语句的用法是一样的,只不过第二个循环语句的逻辑表达式为真时执行循环里的执行语句,而这个刚好相反,当这个语句的逻辑表达式的值为真时,退出循环。怎么样?是不是觉得很神奇,或者也可以说是无聊。不过存在就有意义,有时就会有用到它的时候,只不过你还没有发现。如果用这个循环语句再做一次上面的作业,其实就是把逻辑表达式的运算符换一下而已:Subaa()Dima%A=2Dountilcells(a,2)=””Ifcells(a,2)>80andcells(a,2)<=90thencells(a,3)=”良”A=a+1LoopEndsub趣味...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?