ExcelVBA之Case语句

有时候,作决定是基于测试表达式的条件,例如它是否大于,小于,等于或使用一些其它的关系运算符。关键字Is使你能够在Case子句里使用条件表达式。使用关键字Is的SelectCase语句的语法如下:

 

Select Case myNumber
     Case Is <10
              MsgBox "The number is less than 10"
     Case 11
              MsgBox "You entered eleven."
     Case Is >=100
              MsgBox "The number is greater than or equal to 100."
     Case Else
              MsgBox "The number is between 12 and 99."
End Select

确定Case子句里数值的范围:

Select Case unitsSold
     Case 1 to 100
              Discount = 0.05
     Case Is <= 500
              Discount = 0.1
     Case 501 to 1000
              Discount = 0.15
     Case Is >1000
              Discount = 0.2
End Select

 在Case子句里确定多个表达式:

Select Case myMonth
     Case "January", "February", "March"
               Debug.Print myMonth & ": 1st Qtr."
     Case "April", "May", "June"
               Debug.Print myMonth & ": 2nd Qtr."
     Case "July", "August", "September"
               Debug.Print myMonth & ": 3rd Qtr."
     Case "October", "November", "December"
               Debug.Print myMonth & ": 4th Qtr."
End Select

Case子句的多个条件
用来分隔开Case子句里面多个条件的逗号,和用于If语句里的运算符OR意义一样。只要这些条件有一个为真,Case子句就为真。

 

在本章介绍的条件语句,让你控制你的过程走向。通过测试条件的真假,你可以决定哪些语句需要执行,哪些要跳过。换句话说,不必从上到下,一行一行地运行你的过程,你可以只执行某些行,如果你犹豫应该使用哪种条件语句,这里是一些指南:


①如果你只要提供一个条件,简单的If…Then语句是最好的选择

 

②如果你要决定运行两个条件中的一个,那么使用If…Then…Else语句
 

③如果你的程序需要两个或多个条件,那么使用If…Then…ElseIf或者Select Case语句
 

④如果你的程序有很多条件,那么就使用Select  Case语句。这个语句比If…Then…ElseIf语句更灵活并且更容易理解。


有些决定是需要重复的,例如,你可能需要在工作表里的每个单元格里或者一个工作簿里的每个表里重复同样的操作。

你可能感兴趣的:(ExcelVBA,excel,vba,程序设计)