循环语句是很多人开始使用VBA的理由,因为在批量处理大量数据的多条件判断时,函数已经没办法满足我们的需求了。而VBA可以使用简单的循环完成这一工作。
循环语句
1.
For...Next语句
在上一篇我们介绍判断语句的时候,就使用了For..Next的循环语句,在这里简单的讲一下。
案例中循环语句的意义是,设置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进行判断,一定要注意结束循环的条件,否则这个语句很容易出现无限循环无法终止的问题。
3.
Do...Until...Loop语句
这个语句的用法与Do Whlie Loop语句正好相反,Do While语句是当逻辑表达式的值为False时退出循环,而Do Until 语句是当逻辑表达式的值为True时退出循环。
4.
For...Each...Next语句
当我们明确要在一个数组里进行循环的时候,我们可以使用For Each Next语句,这个语句不需要定义循环条件。
看一下下面的案例:
定义m作为一个区域,对于单元格F2:F6中的每个单元格进行循环判断。
END