循环语句是很多人开始使用VBA的理由,因为在批量处理大量数据的多条件判断时,函数已经没办法满足我们的需求了。而VBA可以使用简单的循环完成这一工作。

循环语句



access vba 循环表 vba中循环语句_逻辑表达式

1.

For...Next语句

    在上一篇我们介绍判断语句的时候,就使用了For..Next的循环语句,在这里简单的讲一下。

access vba 循环表 vba中循环语句_vba结束本次循环进行下次_02


案例中循环语句的意义是,设置n=1到6的循环,每次循环分别在F2到F7单元格中输入判断值。 For n = 1 to 6 :For是循环语句的开始,对于变量1等于1到6,从n=1开始进行下面的判断 。 我们也可以设置循环的步长: For n = 1 to 6 step 2 ,也就是变量从1开始步长为2,在6结束的循环语句。 Next,n=1的这一轮判断结束,进行n=2的下一轮判断。 不过,For Next 语句有一个缺点,就是我们必须知道循环变量的终止值,如果我们的数据是动态的,就很难提前预知循环变量的终止值。这时,我们可以使用下面要介绍的Do While Loop 循环语句。

2.

Do...While...Loop语句

作为循环语句的开始,当Do Whlie后面跟着的逻辑表达式为True时,进行循环,否则停止循环。

下面的案例中,就是当D列的某个单元格不为空时,进行循环,当执行到Loop时,返回Do While进行判断,一定要注意结束循环的条件,否则这个语句很容易出现无限循环无法终止的问题。

access vba 循环表 vba中循环语句_vba结束本次循环进行下次_03

3.

Do...Until...Loop语句

这个语句的用法与Do Whlie Loop语句正好相反,Do While语句是当逻辑表达式的值为False时退出循环,而Do Until 语句是当逻辑表达式的值为True时退出循环。

access vba 循环表 vba中循环语句_access vba 循环表_04

4.

For...Each...Next语句

当我们明确要在一个数组里进行循环的时候,我们可以使用For Each Next语句,这个语句不需要定义循环条件。

看一下下面的案例:

access vba 循环表 vba中循环语句_access vba 循环表_05

定义m作为一个区域,对于单元格F2:F6中的每个单元格进行循环判断。

END