打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
EXCEL VBA 零基础教程:判断语法汇总(办公室职场必备)

EXCEL中使用VBA编写宏代码程序时,需要控制程序的流程。最核心的两点,一是循环语句,VBA能够处理大量的数据,正是因为能够使用循环,不断的重复执行。二是判断语句,判断语句能够将复杂的工作流程细化成更小的模块,这是VBA能够处理更复杂问题的关键。今天我们着重汇总下VBA中判断语句的用。主要有两个,IF、Select Case。

自己最常用的是IF,在单一条件、或两个、或者更多比如三个条件判断都是比较好用的。如果是更多的话,建议用Select Case。

  • IF 判断语句

  • IF ... Then ...End If 单分支

  • If 条件 Then

  • 语句1

  • 语句2

  • 语句N

  • End If

  • 之所以叫单分支是因为程序只会流向一个分支,如下图。

    比如你可以这样写,当然条件越复杂,实现的功能越复杂,代价就是代码不好理解:

    IF (n> m And m > 20) Or(m<10 And n<10)Or(m>100 Or n>100) Then m = m n

  • 示例1:

  • Sub 判断是否及格()

    • score = 78

    • If score => 60 Then

      • MsgBox '及格'

    • End If

  • End Sub

  • IF...Then ...Else...End If 双分支

  • If 条件 Then

  • 语句1

  • 语句2

    Else

  • 语句3

  • 语句4

  • End If

    很明显程序会流向两个分支,如图:

  • 示例2:

  • Sub 判断是否及格2()

    • score = 58

    • If score => 60 Then

      • MsgBox '及格'

    • Else

      • MsgBox '不及格'

    • End If

  • End Sub

  • IF ...Then...ElseIf...Else ...EndIf 多分支

  • If 条件1 Then

  • 语句1

  • 语句2

    ElseIF 条件2

  • 语句3

  • 语句4

    Else

  • 语句7

  • 语句8

  • End If

这个四个两个或两个以上的多条件分支,流程图如下:

  • 示例3:

  • Sub 判断是否及格3()

    • score = 78

    • If score < 60 Then

      • MsgBox '不及格'

    • ElseIf score < 70 Then

      • MsgBox '及格'

    • ElseIf score < 80 Then

      • MsgBox '良好'

    • Else

      • MsgBox '优秀'

    • End If

  • End Sub

  • Select Case 选择判断语句

    当条件过多时,IF将无法完成,这是我们可以使用Select Case选择判断语句来实现。

很明显的可以看出Selcet Case 在处理多条件判断是更有优势,流程图如下:

  • 示例4:

  • Sub 判断是否及格4()

    • score = 98

    • Select Case score

      • Case Is > 90

        • MsgBox '优秀'

      • Case Is > 80

        • MsgBox '良好'

      • Case Is > 60

        • MsgBox '及格'

      • Case Else

        • MsgBox '不及格'

    • End Select

  • End Sub

  • 示例5:

  • Sub 判断是否及格5()

    • score = 68

    • Select Case score

      • Case 90 To 100

        • MsgBox '优秀'

      • Case 80 To 90

        • MsgBox '良好'

      • Case 60 To 80

        • MsgBox '及格'

      • Case Else

        • MsgBox '不及格'

    • End Select

  • End Sub

  • 示例6:

  • Sub 判断月份()

    • myMonth = '四月'

    • Select Case myMonth

      • Case '一月', '二月', '三月'

        • MsgBox myMonth & ': 春'

      • Case '四月', '五月', '六月'

        • MsgBox myMonth & ': 夏'

      • Case '七月', '八月', '九月'

        • MsgBox myMonth & ': 秋'

      • Case '十月', '十一月', '十二月'

        • MsgBox myMonth & ': 冬'

    • End Select

  • End Sub

总结:

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

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

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

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


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
计算机技术基础(第五章 选择结构程序设计 )
VBA常用语句(判断语句)
学习VBA,报表做到飞 第一章 入门篇 1.7 IF语句
什么是IF分支语句?
宏和VBA简易入门:05-流程控制入门-B
VBA的IIf和If区别与用法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服