excelvba之判断语句Word版_第1页
excelvba之判断语句Word版_第2页
excelvba之判断语句Word版_第3页
excelvba之判断语句Word版_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、传播优秀Word版文档 ,希望对您有帮助,可双击去除!学习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. 单行形式 (IFTHEN.ELSE.)格式:if then else 当逻辑表达式为真时,执行then后面的语句,当逻辑表达式为假时执行else后面的语句。例:if 21 then msgbox “yes” else msgbox “n

2、o”3. 多行形式(IF.THEN.END)格式:if then 执行语句 . End if 此语句运行的结果和第一条单行形式的IF语句是一样的,好处是可以在逻辑表达式为真时,可以执行相对多条的语句,并且清晰易懂。例:if 1110 then A=a+1 B=b+1 C=c+1 End if4. 多行形式(IF.THEN.ELSE.END)格式:if then 执行语句 . Else 执行语句 . End if这个用法的结果等同于第二条单行形式,适用于比较复杂的判断语句,并清晰易懂。传播优秀Word版文档 ,希望对您有帮助,可双击去除!例:if 1110 thenA=a+1B=b+1ElseA

3、=a-1B=b-1End if5. 多行形式(IF.THEN.ELSEIF.ELSE.END)格式:if the 执行语句 . Elseif then 执行语句 . Else 执行语句 . End if在这里当第一个逻辑表达式为假时,还可以进行elseif后面的第二种判断,当第个判断又为假时还可以进行第三种判断,直到所有的逻辑表达式都不成立后才执行else后面的语句,其中如果条件符合某个elseif后面的逻辑表达,则只执行这个elseif后面的语句。这种判断语句较为复杂,不建议初学者使用,只有能逐步熟悉掌握了以前几种判断语句的用法及步骤,这个语句才能得心应手。例: 假定当前已打开工作簿,第一个

4、表的 A1单元格的内容为考试成绩,我们要在B1里输入根据A1成绩相对应的等级 If sheet1.range(“a1”)90 then Sheet1.range(“b1”)=”优” Elseif sheet1.range(“a1”)80 then Sheet1.range(“b1”)=”良” Elseif sheet1.range(“a1”)70 then Sheet1.range(“b1”)=”中” Else Sheet1.range(“b1”)=”差” End if 在这个例子里,开始时单元格的内容是全部的数字集,它可以是任何一个数字,当运行完第一个条件判断后,如果条件不成立,单元格的数字

5、则只能是90以下的任意数字了,如果第二个条件判断不成立,那它就只能是80以下的数字了,如果所有的判断都不成立,那就只能执行else后面的语句。在运行这一段程序的当中,并不是所有所有符合条件的语句都执行,而是优先执行最先符合条件的,执行完就退出判断语句,例如a1单元格的内容是91,符合条件的有三个,由于sheet1.range(“a1”)90这个条件在前,那么b1单元格内就会赋值为传播优秀Word版文档 ,希望对您有帮助,可双击去除!”优”,其余两个条件就不再做判断。反过来,如果是sheet1.range(“a1”)70这个条件在前,这个判断语句就只能是以这个条件为判断,即使a1单元格内为100

6、,b1单元格也只能赋值为”中”,也就是说sheet1.range(“a1”)90和sheet1.range(“a1”)80这两个条件起不了作用了。所以在编写这种判断语句时应注意逻辑表达式的先后顺序。6. 判断语句之SELECT格式:select case 对象 Case is 执行语句 . Case is 执行语句 . Case else 执行语句 . End select 在这里,对象可以是一个变量,也可以是指定单元格内的值,还可以是一组正确的表达式 ,然后通过这个对象的值能符合下面哪个case后面的值,再决定执行哪个case下面的执行语句。如果都不符合,则执行case else后面的执行语

7、句。例: 假定当前已打开工作簿,第一个表的 A1单元格的内容为考试成绩,我们要在B1里输入根据A1成绩相对应的等级。 Select case sheet1.a1.value Case is 90 Sheet1.b1=”优” Case is 80 Sheet1.b1=”良” Case is 70 Sheet1.b1=”中” Case else Sheet1.b1=”差” End select这一段判断语句就比用IF语句要简单,并且运行的结果是一样的。用select做判断,可以不用写逻辑表达式,这里不是说不需要条件,任何判断都是需要条件的,而是表达式是分开的。这里的判断条件就是sheet1.a1.

8、value的值与case后面的比较,符合哪个条件就执行哪个case后面的语句。在select判断中,如果逻辑运算符是”=”的话,这个”=”还可以省略。例: 假定当前已打开工作簿,第一个表的 A1单元格的内容为考试等绩,我们要在B1里输入根据A1成绩相对应的分数范围。传播优秀Word版文档 ,希望对您有帮助,可双击去除! Select case sheet1.a1.value Case “优” Sheet1.b1=”成绩在91-100之间” Case “良” Sheet1.b1=”成绩在81-90之间” Case “中” Sheet1.b1=”成绩在71-80之间” Case “差” Sheet1.b1=”成绩在70以下” Case else Sheet1.b1=”等级值错误” End select 小结:在excel vba里,判断语句大体上有以上六种,这六种语句,不存在孰优孰劣,并且每一种判断语句一般都能替代另一种。但它们各有各的优点和缺点,简单的判断,用前三种,能达到简化语句的作用,但在多条件判断时就有点力不从心

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论