vba第1集 (vba第一行第四列)

vba第十课

do……loop循环

do……loop循环语句,直到满足某个条件才结束循环

例:

Sub 循环()

Dim a%

Do

a=a+1

if a>10 then

msgbox a & “终于大于10”

exit do

end if

loop

end sub

vba第一行第四列,vba第十课

解释:1、a=a+1

当定义变量a时,a的值默认为0,也就第二个a为0,第一个a等于0+1当循环第二次时,第二个a为前一次运行的值为1,第一个a等于1+1,以此类推,直到循环结束

2、Exit do

这一句的意思是当满足a>10时退出循环,如果没有这个一句,此程序会一直循环下去,也就是我通常说的死循环,跳不出程序了,所以在if下当满足第一个条件时会终止循环

例:

Sub 考评()

Dim a%

a = 1

Do

a = a + 1

If a > 11 Then

Exit Do ‘当工作表循环到第11行时跳出循环,如果不到11就执行else语句

Else

If Sheets(1).Range("f" & a) >= 260 Then Sheets(1).Range("g" & a) = "优秀"

End If

Loop

End Sub

vba第一行第四列,vba第十课

注释:1、a=1

为什么a要设初始值为1呢,我们看到工作表中第一行为标题行不是我们需要判断的地方,需从第二行F2单元格开始,当我们运行到a=a+1时,a就等于2了,下面的语句sheets(1).range(“f” & a)就是表示单元格F2,单元格也就往下循环了,注意“f”后面要空一格,&后面也要空一格,这是代码规则。

2、else

Else下面还可以接if甚至还可加上Do……loop语句,可以多层嵌套,只要你的程序需要进行判断或循环

3、>=

表示大于并等于,此例子要求是将总分大于或等于260分以上的人在考评一栏中填上优秀

有兴趣的可以将下面图片的要求加入代码程序中

vba第一行第四列,vba第十课

如果觉得有帮助的话记得关注和点赞,有不懂的地方可以私信我,需要表格素材的也可私信给我转发给你们。

如果各位在实际工作中遇见excel常规方法无法解决的或操作比较复杂的报表可以私信我,可以免费编写代码来解决!