按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
4)常量为变量的一种特例,用Const 定义,且定义时赋值,程序中不能改变值,作用域也如同
1
… 页面 11…
VBA 语言基础 橄榄树整理
变量作用域。如下定义:Const Pi 3。1415926 as single
第五节 数组
数组是包含相同数据类型的一组变量的集合,对数组中的单个变量引用通过数组索引下标
进行。在内存中表现为一个连续的内存块,必须用 Global或 Dim 语句来定义。定义规则如下:
Dim 数组名('lower to 'upper '; 'lower to 'upper; …。') as type ;Lower 缺省值为 0。二
维数组是按行列排列,如 XYZ(行,列)。
除了以上固定数组外,VBA 还有一种功能强大的动态数组,定义时无大小维数声明;在程
序中再利用Redim语句来重新改变数组大小,原来数组内容可以通过加preserve关键字来保留。
如下例:
Dim array1() as double : Redim array1(5) : array1(3)=250 : Redim preserve array1(5;10)
第六节 注释和赋值语句
1)注释语句是用来说明程序中某些语句的功能和作用;VBA中有两种方法标识为注释语句。
2)赋值语句是进行对变量或对象属性赋值的语句,采用赋值号 ,如 X=123:Form1。caption=”
我的窗口”
对对象的赋值采用:set myobject=object 或 myobject:=object
第七节 书写规范
1)VBA 不区分标识符的字母大小写,一律认为是小写字母;
2)一行可以书写多条语句,各语句之间以冒号 : 分开;
3)一条语句可以多行书写,以空格加下划线 _ 来标识下行为续行;
4)标识符最好能简洁明了,不造成歧义。
第八节 判断语句
1)If…Then…Else语句
If condition Then 'statements''Else elsestatements'
如 1:If A》B And C250 Then x=x…100
或者,可以使用块形式的语法:
If condition Then
'statements'
'ElseIf condition…n Then
'elseifstatements' 。。。
'Else
'elsestatements''
End If
如 1:
If Number 《 10 Then
Digits = 1
ElseIf Number 《 100 Then
Digits = 2
Else
Digits = 3
End If
2)Select Case…Case…End Case 语句
如 1:
Select Case Pid
Case “A101”
Price=200
Case “A102”
Price=300
2
… 页面 12…
VBA 语言基础 橄榄树整理
……
Case Else
Price=900
End Case
3)Choose 函数
choose(index; choce…1;choice…2;…;choice…n),可以用来选择自变量串列中的一个值,
并将其返回,index 必要参数,数值表达式或字段,它的运算结果是一个数值,且界于 1 和可
选择的项目数之间。choice 必要参数,Variant表达式,包含可选择项目的其中之一。如:
GetChoice = Choose(Ind; 〃Speedy〃; 〃United〃; 〃Federal〃)
4)Switch 函数
Switch(expr…1; value…1'; expr…2; value…2 _ '; expr…n;value…n'')
switch 函数和 Choose 函数类似,但它是以两个一组的方式返回所要的值,在串列中,最先为
TRUE 的值会被返回。 expr 必要参数,要加以计算的 Variant 表达式。value 必要参数。如
果相关的表达式为 True,则返回此部分的数值或表达式,没有一个表达式为 True,Switch 会
返回一个 Null 值。
第九节 循环语句
1)For Next 语句 以指定次数来重复执行一组语句
For counter start To end 'Step step' ' step 缺省值为 1
'statements'
'Exit For'
'statements'
Next 'counter'
如 1:
For Words = 10 To 1 Step …1 ' 建立 10 次循环
For Chars = 0 To 9 ' 建立 10 次循环
MyString = MyString & Chars ' 将数字添加到字符串中
Next Chars ' Increment counter
MyString = MyString & 〃 〃 ' 添加一个空格
Next Words
2)For Each…Next 语句 主要功能是对一个数组或集合对象进行,让所有元素重复执行一次
语句
For Each element In group
Statements
'Exit for'
Statements
Next 'element'
如 1:
For Each rang2 In range1
With range2。interior
lorindex=6
。pattern=xlSolid
End with
Next
这上面一例中用到了 With…End With 语句,目的是省去对象多次调用,加快速度;语法
为:
With object
'statements'
End With
3)Do…loop 语句 在条件为 true 时,重复执行区块命令
Do {while |until} condition' while 为当型循环,until 为直到型循环,顾名思义,不多说
啦
Statements
Exit do
3
… 页面 13…
VBA 语言基础 橄榄树整理
Statements
Loop
或者使用下面语法
Do ' 先do 再判断,即不论如何先干一次再说
Statements
Exit do
Statements
Loop {while |until} condition
第十节 其他类语句和错误语句处理
一.其他循环语句
结构化程序使用以上判断和循环语句已经足够,建议不要轻易使用下面的语句,虽然 VBA 还支
持。
1) Goto line 该语句为跳转到 line 语句行
2) On expression gosub destinatioinlist 或者 on expression goto destinationlist 语
句为根据 exprssion 表达式值来跳转到所要的行号或行标记
3) Gosub line…line…Return 语句, Return 返回到 Gosub line 行,如下例:
Sub gosubtry()
Dim num
Num=inputbox(“输入一个数字,此值将会被判断循环”)
If num》0 then Gosub Routine1 :Debug。print num:Exit sub
Routine1:
Num=num/5
Return
End sub
4) while…wend语句,只要条件为 TRUE,循环就执行,这是以前 VB 老语法保留下来的,如下
例:
while condition ‘while I