6
Statements
Next[element]
如 1:
ForEachrang2Inrange1
Withrange2.interior
.colorindex=6
.pattern=xlSolid
Endwith
Next
这上面一例中用到了 With, EndWith 语句,目的是省去对象多次调用,加快速度;语法
为:
Withobject
[statements]
EndWith
3)Do, loop 语句在条件为 true 时,重复执行区块命令
Do{while|until}condition' //while 为当型循环, until 为直到型循环,顾名思义,不多说啦
Statements
Exitdo
Statements
Loop
8 过程与函数
过程是构成程序的一个模块,往往用来完成一个相对独立的功能。过程可以使程序更清晰、更具结构性。
VBA 具有四种过程: Sub 过程、 Function 函数、 Property 属性过程和 Event 事件过程。
8.1 Sub 过程
Sub过程的参数有两种传递方式:按值传递 (ByVal) 和按地址传递 (ByRef) 。如下例:
Subpassword(ByValxasinteger,ByRefyasinteger)
Ify=100theny=x+yelsey=x-y
x=x+100
Endsub
Subcall_password()
Dimx1asinteger
Dimy1asinteger
x1=12
y1=100
Call password(x1,y1) //‘调用过程方式: 1.Call 过程名 (参数 1,参数 2, );2.过程名参数 1,参数 2,
debug.print x1,y1 //‘结果是 12、112,y1 按地址传递改变了值,而 x1 按值传递,未改变原值
Endsub
8.2 Function 函数
Functionpassword(ByValxasinteger,byrefyasinteger)asboolean
Ify=100theny=x+ y elsey=x-y
x=x+100
ify=150thenpassword=trueelsepassword=false
EndFunction
Subcall_password()
Dimx1asinteger
Dimy1asinteger