分享

Excel【VBA教程】条件判断语句

 冷茶视界 2023-11-15 发布于江苏

快速浏览

往期合集:【2023年3月】【2023年4月】【2023年5月】【2023年6月2023年7月2023年8月

实用案例

|日期控件||简单的收发存|

|电子发票管理助手|

|电子发票登记系统(Access版)|

|Excel多种类型文件合并|

|Excel表格拆分神器|

|批量生成审计凭证抽查底稿|

|中医诊所收费系统(Excel版)|

|中医诊所收费系统(Access版)|

|收费管理系(Access改进版)|

收费使用项目

|财务管理系统||工资薪金和年终奖个税筹划|

内容提要

  • IF 条件判断语句
  • SELECT CASE条件判断语句
大家好,我是冷水泡茶,最近我们分享了几篇Excel VBA教程【循环语句】、【数组(1)】、【数组(2)】,说是教程,实在有点勉强,仅仅是我有限认知的表达。其实,我是太愿意写这种所谓的教程,一方面觉得自己掌握的知识不够全面,另一方面,写这种东西实在枯燥无聊。
但是,每天分享一个案例也是比较困难的,前面分享了很多,自己能想到、用到的案例已经写得差不多了,有几个计划中的案例处于停滞状态,主要是因为工作量都不小,名字中都带有什么什么“系统”,比如,“印章管理系统”,这个早有打算,目前只完成大概三分之一的工作量吧;其他的基本是处于一个空想阶段,“预算管理系统”、“人事管理系统”、“进销存管理系统”、“电子书管理系统”......今天想到了这些,相当于先拉个清单吧。
另外,在论坛上也不太容易碰到合适的、有意思的案例,要么太麻烦,要么太简单。
所以呢,就准备写一些概念性的东西,一来对前期分享的案例中涉及到的方法、技巧做一个梳理、总结;二来作为公众号的素材资源,有案例我们就分享案例,没有案例我们就拿教程来凑,尽量保持日更
闲话少叙,进入今天的正题:
在VBA中,我们利用条件判断语句来执行不同的代码,最终形成我们所需要的结果。条件判断语句有两种:IF...THEN语句、SELECT CASE语句。
一、IF...THEN结构
1、满足某一个条件时,执行相应代码:
IF A>B THEN   C=AEND IF
2、满足某一个条件时,执行代码A,否则执行代码B:
IF A>B THEN   C=AELSE   C=BEND IF
3、满足条件A时,执行代码A,否则,若满足条件B,执行代码B,否则,执行代码C:
IF A>B THEN   C=AELSEIF D>B THEN   C=DELSE   C=B END IF
其中,ELSEIF可以有很多个。
大家有没有看到过一种有点怪异的条件判断:
IF A>B THEN  ELSE   C=BEND IF
还别说,这种形式我也写过。我们把条件反过来写,就顺当多了:
IF NOT A>B THEN     C=BEND IF
或者
IF A<=B THEN     C=BEND IF
之所以出现这样的情况,我想可能是“条件表达式”先入为主,想到一个表达式,就接着往下写,当条件为真时,啥也不用做,就没有代码,接着,当条件为假时,用一个ELSE分支语句。
当然,结果是没错,逻辑上也没有什么不妥。只是代码有点啰嗦,不够简洁。
4、嵌套条件,进行复杂的条件判断:
IF A>B THEN   IF D>A THEN   C=D   END IFELSE   C=BEND IF
  二、SELECT CASE结构
SELECT CASE 变量A CASE 值1 ... CASE 值2 ... CASE ELSE ...END SELECT
就是根据变量的值,执行不同的代码。这里也可以改写成IF...ELSE...END IF的结构
IF 变量A=值1 THEN  ...ELSEIF  变量A=值2 THEN  ...ELSE  ...END IF

就我个人而言,IF语句用得比较多,只要逻辑通顺,哪种方式都行。

 三、条件判断中的逻辑运算符

1、AND,连接两个或两个以上条件,只有它们都满足、都为真时,整个条件表达式的结果才为真。

2、OR,连接两个或两个以上条件,只要有一个满足,整个条件表达式的结果即为真。

3、NOT,将真变为假,将假变为真。

4、(),当有AND与多个OR条件组合的时候,把OR条件放到括号里,会改变整个条件表达式的结果。

四、IF条件取值问题

1、当条件表达式中,有比较运算符,如“=”,“>”、“<”等时,其结果为“TRUE” 或者“FALSE”,即真或假。

2、当条件表达式是一个数值时,0为假,非0为真(负数也为真,这是不是有点不好理解?)。

五、总结

条件语句相对比较简单,经常会跟循环结合使用,提取符合条件的数据。具体例子我们就不举了,基本上每一个案例中都会有IF条件语句。

好,今天就到这吧。


~~~~~~End~~~~~~

喜欢就点个、点在看留言评论、分享一下呗!感谢支持!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多