我们每天要作成千上万个决定,有些决定是自发的,我们自动地作出了这些决定,而不需要停下来
去想。其它的决定则需要我们事先两个或者两个以上的选择甚至计划好几个任务。VBA和其它的编
程语言一样,提供了专门的语句允许你在自己的程序中包含抉择点。但是,什么是做决定呢?举例
说某人问你这个问题:“你喜欢红色吗?”想过这个问题之后,你将回答“是”或者“不”。如果你
不确定或者根本就不关心这个问题,你也许就回答“也许”或“可能”。在编程中,你必须决断,
只有“是”或“否”的答案是允许的。在编程中,所有的决定都是基于提供的答案作出的。如果答
案是肯定的,程序就会执行某段特定的指令;如果答案是否定的,程序则将执行另外一段指令或者
干脆就不做任何操作。在本章,你将学习如何使用VBA条件语句来改变你的程序流向。条件语句通
常称为“控制结构”,因为它们使你能够控制你的VBA过程的走向,跳过某些语句以及“分叉”到程
序的另外一部份去了。
1。关系和逻辑运算符
你在你的VBA过程里面通过使用专门的控制结构里的条件表达式来做决定。条件表达式是使用关系
运算符(见表5…1),逻辑运算符(见表5…2)或者两者结合的表达式。当VB在你程序里遇到条件表
达式时,它将评估该表达式是对还是错。
表5…1 VBA中的关系运算符
运算符 描述
= 等于
不等于
》 大于
102
… 页面 119…
《 小于
》= 大于等于
50 Then
MsgBox 〃The exact value is 〃 & ActiveCell。Value
Debug。Print ActiveCell。Adress & 〃: 〃 & ActiveCell。Value
End If
在上面的例子中,如果当前单元格数值小于等于50的话,那么在关键字Then和End If之间的语句就
不会执行。注意,If…Then语句必须以关键字End If结束。VB如何作决定呢?它评估在关键字If
和Then中间找到的条件。我们来评估一下下面的条件:ActiveCell。Value 》50
1。 在一个空白工作表上选择任意一个单元格并输入50
2。 切换到VB编辑器窗口
3。 激活立即窗口
4。 输入下述语句,并且按下回车键
? ActiveCell。Value 》50
回车后,VB写下测试结果——false。当测试结果为假时,VB将不会读代码中关键字Then之后的语
句,它将直接跳过去读下行代码,但是,如果没有其它的代码行时,程序就将结束。
5。 现在,将运算符改为小于等于号,并且让VB评估下述条件:
? ActiveCell。Value