收藏 分享(赏)

excel vba 之判断语句.doc

上传人:精品资料 文档编号:10962087 上传时间:2020-01-28 格式:DOC 页数:4 大小:36.50KB
下载 相关 举报
excel vba 之判断语句.doc_第1页
第1页 / 共4页
excel vba 之判断语句.doc_第2页
第2页 / 共4页
excel vba 之判断语句.doc_第3页
第3页 / 共4页
excel vba 之判断语句.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、学习 VBA之 判断语句1. 单行形式(IFTHEN)格式:if then :在这里逻辑表达式为条件,当条件为真时,执行 then 后面的语句,如果执行的是多条,在语句中间用冒号分开(:)例 1: If 1110 then a=a+1 例 2: if 1110 then a=a+1 : b=b+1 : c=c+12. 单行形式 (IFTHENELSE.)格式:if then else 当逻辑表达式为真时,执行 then 后面的语句,当逻辑表达式为假时执行 else后面的语句。例:if 21 then msgbox “yes” else msgbox “no”3. 多行形式(IFTHEN.END

2、)格式:if then执行语句.End if此语句运行的结果和第一条单行形式的 IF 语句是一样的,好处是可以在逻辑表达式为真时,可以执行相对多条的语句,并且清晰易懂。例:if 1110 thenA=a+1B=b+1C=c+1End if4. 多行形式(IFTHEN.ELSE.END)格式:if then执行语句Else执行语句End if这个用法的结果等同于第二条单行形式,适用于比较复杂的判断语句,并清晰易懂。例:if 1110 thenA=a+1B=b+1ElseA=a-1B=b-1End if5. 多行形式(IFTHEN.ELSEIFELSEEND)格式:if the执行语句Elseif

3、 then执行语句Else执行语句End if在这里当第一个逻辑表达式为假时,还可以进行 elseif 后面的第二种判断,当第个判断又为假时还可以进行第三种判断,直到所有的逻辑表达式都不成立后才执行 else 后面的语句,其中如果条件符合某个 elseif 后面的逻辑表达,则只执行这个 elseif 后面的语句。这种判断语句较为复杂,不建议初学者使用,只有能逐步熟悉掌握了以前几种判断语句的用法及步骤,这个语句才能得心应手。例: 假定当前已打开工作簿,第一个表的 A1 单元格的内容为考试成绩,我们要在 B1 里输入根据 A1 成绩相对应的等级If sheet1.range(“a1”)90 the

4、nSheet1.range(“b1”)=”优”Elseif sheet1.range(“a1”)80 thenSheet1.range(“b1”)=”良”Elseif sheet1.range(“a1”)70 thenSheet1.range(“b1”)=”中”ElseSheet1.range(“b1”)=”差”End if 在这个例子里,开始时单元格的内容是全部的数字集,它可以是任何一个数字,当运行完第一个条件判断后,如果条件不成立,单元格的数字则只能是 90以下的任意数字了,如果第二个条件判断不成立,那它就只能是 80 以下的数字了,如果所有的判断都不成立,那就只能执行 else 后面的语

5、句。在运行这一段程序的当中,并不是所有所有符合条件的语句都执行,而是优先执行最先符合条件的,执行完就退出判断语句,例如 a1 单元格的内容是 91,符合条件的有三个,由于 sheet1.range(“a1”)90 这个条件在前,那么 b1 单元格内就会赋值为”优”, 其余两个条件就不再做判断。反过来,如果是 sheet1.range(“a1”)70 这个条件在前,这个判断语句就只能是以这个条件为判断,即使 a1 单元格内为 100,b1 单元格也只能赋值为”中”,也就是说 sheet1.range(“a1”)90 和sheet1.range(“a1”)80 这两个条件起不了作用了。所以在编写这

6、种判断语句时应注意逻辑表达式的先后顺序。6. 判断语句之 SELECT格式:select case 对象Case is 执行语句Case is 执行语句Case else执行语句End select在这里,对象可以是一个变量,也可以是指定单元格内的值,还可以是一组正确的表达式 ,然后通过这个对象的值能符合下面哪个 case 后面的值,再决定执行哪个 case 下面的执行语句。如果都不符合,则执行 case else 后面的执行语句。例: 假定当前已打开工作簿,第一个表的 A1 单元格的内容为考试成绩,我们要在 B1 里输入根据 A1 成绩相对应的等级。Select case sheet1.a1

7、.valueCase is 90Sheet1.b1=”优”Case is 80Sheet1.b1=”良”Case is 70Sheet1.b1=”中”Case elseSheet1.b1=”差”End select这一段判断语句就比用 IF 语句要简单,并且运行的结果是一样的。用 select做判断,可以不用写逻辑表达式,这里不是说不需要条件,任何判断都是需要条件的,而是表达式是分开的。这里的判断条件就是 sheet1.a1.value 的值与 case后面的比较,符合哪个条件就执行哪个 case 后面的语句。在 select 判断中,如果逻辑运算符是 ”=”的话,这个”=”还可以省略。例:

8、假定当前已打开工作簿,第一个表的 A1 单元格的内容为考试等绩,我们要在 B1 里输入根据 A1 成绩相对应的分数范围。Select case sheet1.a1.valueCase “优”Sheet1.b1=”成绩在 91-100 之间”Case “良”Sheet1.b1=”成绩在 81-90 之间”Case “中”Sheet1.b1=”成绩在 71-80 之间”Case “差”Sheet1.b1=”成绩在 70 以下”Case elseSheet1.b1=”等级值错误”End select小结:在 excel vba 里,判断语句大体上有以上六种,这六种语句,不存在孰优孰劣,并且每一种判断语句一般都能替代另一种。但它们各有各的优点和缺点,简单的判断,用前三种,能达到简化语句的作用,但在多条件判断时就有点力不从心,多条件的判断用后面的三种,就比用前三种简单,且清晰易懂,但在简单的判断下如果在用后面的判断,就有点画蛇添足之嫌。只有在多用,多练的情况下,熟悉各种语句的用法后,才能得心应手,用的多了,什么时候用什么样的语句,则会在不知不觉中做出选择。笔记:小季2015-4-25

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报