Select Case与IF的比较

在编写VBA条件过程中我想大多人多首选IF来执行!但是你先看看IF语句的代码!

 

 
  1. If Range("A1") >=90 Then   
  2.   Msgbox "You got an A on the test!"  
  3. ElseIf Range("A1") <90 And Range("A1") >=80 Then   
  4.   Msgbox "You got a B on the test"  
  5. ElseIf Range("A1") <80 And Range("A1") >=70 Then   
  6.   Msgbox "You got a C on the test"  
  7. ElseIf Range("A1") < 70 And Range("A1") >=60 Then   
  8.   Msgbox "You got a D on the test"  
  9. Else   
  10.    Msgbox "You failed"  
  11.  End If   

再来看看select case的语句:

 
  1. Select Case Range("A1")   
  2.   Case A1 >=90  
  3.    Msgbox "You got an A on the test"  
  4.   Case 80 To 89  
  5.    Msgbox "You got a B on the test"  
  6.   Case 70 To 79  
  7.    Msgbox "You got a C on the test"  
  8.   Case 60 To 69  
  9.    Msgbox "You got a D on the test"  
  10.    Case Else   
  11.     Msgbox "You failed"  
  12.  End Select   

仔细看看2个代码所追求的目的是一样的!但是2个总体结构还是Select Case简洁,我们写代码无非就是追求简洁便于阅读!

学习下吧!Select Case效果未必比IF差!

分享到:

8 条评论

点击这里取消回复。
注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。

昵称
  1. gucci bag uk

    又是代码呀~~~

    1. Kael.Z

      呵呵!excel开发当然是代码为主了!

  2. 心情阳光

    恩,还是select case好

    1. Kael.Z

      呵呵!你发现了!

  3. 嗨酷

    新手学习了!强大的博主

    1. Kael.Z

      过奖,有空常来

  4. 电炉

    我看不出来有什么区别

    1. Kael.Z

      代码的结构明细就很明显啊!