分享

VBA代码中判断语句中IF与Select Case的区别

 旅行中的甘蓝 2020-04-06

本帖最后由 火烧云 于 2015-2-15 15:06 编辑

Select Case和If then语句都是条件判断语句。If then语句可以同时对多个对象进行判断,而Select Case必须先选定一个对象,对其进行判断。但其优点是比较简洁。Select Case是if….then….else结构的一种变通形式,Select Case语句的结构为选择程序结构,它根据表达式的值 ,来判断执行几组语句中的其中哪一个语句,与if…then…else相比较,结构比较简单。当出现太多判断条件时,if语句代码变的繁琐,运算速度变慢,而Select Case的代码就比较简单,速度相对来说就快点

  1. 语法

  2. Select Case 语句:根据表达式的值来决定执行几组语句中的其中这一

  3. 格式

  4. Select Case 单元格对象

  5. Case  条件判断

  6. Case Else  ( 否则)

  7. Case Else  ( 否则)

  8. End Select  (退出)


  9. if可单条件判断,也可多条件判断

  10. 格式

  11. if 条件判断 then

  12. 成立时的结果

  13. elseif 条件判断 then

  14. 成立时的结果

  15. 。。。。。

  16. else

  17. 不成立时的结果

  18. end if

复制代码

用不同代码输入方法:

  1. Sub 判断成绩方法一()

  2.     Dim x%, y%

  3.     y = Cells(Rows.Count, 1).End(xlUp).Row '取得非空单元格的行号

  4.     [B2:B8].Clear '清空数据

  5.     For x = 2 To y '循环需要判断的数据源

  6.     '开始判断

  7.         If Range('A' & x) < 60 Then

  8.             Cells(x, 2) = '不及格'

  9.         ElseIf Range('A' & x) < 70 Then

  10.             Cells(x, 2) = '及格'

  11.         ElseIf Range('A' & x) < 80 Then

  12.             Cells(x, 2) = '良好'

  13.         Else

  14.             Cells(x, 2) = '优秀'

  15.         End If

  16.     Next x

  17. End Sub


  18. Sub 判断成绩方法二()

  19.     Dim x%, y%

  20.     y = Cells(Rows.Count, 1).End(xlUp).Row

  21.     [B2:B8].Clear

  22.     For x = 2 To y

  23.         Select Case Range('A' & x)

  24.             Case Is < 60

  25.                 Cells(x, 2) = '不及格'

  26.             Case Is < 70

  27.                 Cells(x, 2) = '及格'

  28.             Case Is < 80

  29.                 Cells(x, 2) = '良好'

  30.             Case Else

  31.                 Cells(x, 2) = '优秀'

  32.         End Select

  33.     Next x

  34. End Sub


复制代码

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多