郑州电脑维修 Win7粉丝 网站地图
您的位置:IT服务网办公软件WPS浏览正文

【VBA教材】39.常用语句透析(十三)

2011-11-08 14:48:27 浏览次数:0 评论 0

【VBA教材】39.常用语句透析(十三)这篇文章的内容如下:

Select Case与IF… Then…Else两者都可以实现多条件判断,但在使用中各有优势。本节对两者做一详细比较

IF… Then…Else的优势在于在条件中可以随时使用And与Or运算符对多个对象设置条件,而Select Case语句只能针对Select Case语句中首先指定的唯一条件进行判断。

例如在A1大于60及B1小于60时执行过程“A”,否则执行过程“B”,IF… Then…Else语句可以利用以下方式完成:

______________________________________________________

Sub 多对象设置条件() 'IF…Then…

IF [a1]60 Then

Call A

Else

Call B

End IF

End Sub

______________________________________________________

而Select Case语句是无法完成以上条件的,它只能完成在A1大于60或者A1小于60时执行过程“A”,否则执行过程“B”这种需求。代码如下:

______________________________________________________

Sub 单一对象多条件() 'Select Case

Select Case [a1]

Case Is60

Call a

Case Else

Call B

End Select

End Sub

______________________________________________________

在Select Case条件语句中,只能对一个对象设置条件,它可能是多个条件。但多个对象指定多个条件则只能改用IF…Then…Else语句。

Select Case的优势在于对同一对象设置多条件时,它的速度优于IF…Then…Else语句。IF...Then...Else 语句会计算每个 ElseIF 语句的不同的表达式,在控制结构的顶部,Select Case语句只计算表达式一次。

例如以下两个过程中,达成的结果完全一致,但在速度上有一定差异。其中Select Case语句只需要判断一次变量“Select Case”符合哪一个条件,而在IF…Then…Else语句中,有多少个IF和ElseIF就需要判断多少次。

______________________________________________________

Sub 评语1()

Select Case 成绩

Case Is100

MsgBox "输入错误"

Case Is

MsgBox "不及格"

Case 60

MsgBox "及格"

Case 60 To 80

MsgBox "良"

Case 81 To 99

MsgBox "优"

Case Else

MsgBox "满分"

End Select

End Sub

______________________________________________________

Sub 评语2()

IF 成绩 成绩 > 100 Then

MsgBox "输入错误"

ElseIF 成绩

MsgBox "不及格"

ElseIF 成绩 = 60 Then

MsgBox "及格"

ElseIF 成绩 > 60 And 成绩

MsgBox "良"

ElseIF 成绩 > 80 And 成绩

MsgBox "优"

Else

MsgBox "满分"

End IF

End Sub

______________________________________________________

根据以上分析,读者可以进行多次测试,在实际工作中根据需求选择适当的语句。

罗.xls



本文地址:http://www.itfw5.com/office/WPS/10197.html
  • Win7粉丝网提供win7安全和win7常见问题解答
    请自觉遵守相关政策法规,严禁发布色情/暴力/反动言论。

    相关广告

    WPS推荐文章