一个硬件工程师的Excel VBA的自学之旅。
今天继续学习Excel VBA的基础语法。
先介绍下Do While语句,它的基本结构如下:
上图中的逻辑表达式,是Do While循环的循环条件,当逻辑表达式的值为True时,将会执行循环体,否则跳出循环执行Loop后面的语句。而Exit Do语句是退出Do While循环,一般用If语句配合使用,用If语句判断是否满足某个条件,以便退出Do While循环。
具体Do While循环的应用如下面的代码所示:
下面代码的功能是把A列表格里面的大于等于60的数字改成红色。
下面代码的功能是把A列表格里面的小于等于160的数字改成红色,使用了Exit Do语句。
再介绍下Do Until语句,它有开头判断和结尾判断两种语句形式,开头判断式如下:
结尾判断式如下:
上图中的逻辑表达式,是Do Until循环的循环条件,当逻辑表达式的值为False时,将会执行循环体,否则跳出循环执行Loop后面的语句。
上面的两个判断式不同的是:开头判断式是先判断逻辑表达式的值,决定是否执行循环体还是退出循环,所以开头判断式存在一次循环也不执行的情况;而结尾判断式是先执行循环体,再去判断逻辑表达式的值,决定是否再执行循环体还是退出循环,所以结尾判断式最少会执行一次循环体;这是两个判断式的主要不同点。Exie Do语句的作用也是退出Do Until循环,用法和Do While循环里面的一样。
与Do While语句不同的是:Do While语句是当逻辑表达式的值为False时退出循环,而Do Until语句是当逻辑表达式的值为Ture时退出循环。
具体Do Until循环的应用如下面的代码所示:
下面代码的功能是把A列表格里面的大于等于60的数字改成红色,使用的是开头判断。注意循环条件中的逻辑表达式和Do While的区别。
下面验证一下结尾判断式最少执行一次的功能。下面的代码因i直接是等于1,所以在第一次判断时就会退出循环,但是因为结尾判断式最少执行一次,所以会在表格A1写上666。
因作者的能力和知识有限,上述文章难免有错误及不妥之处,敬请各位网友批评指正。