excelvba之判断语句_第1页
excelvba之判断语句_第2页
excelvba之判断语句_第3页
excelvba之判断语句_第4页
excelvba之判断语句_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、excelvba 之判断语句学习 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. 单行形式(IFTHE.ELSE.)格式:if 逻辑表达式 then 执行语句 else 执行语句当逻辑表达式为真时,执行 then 后面的语句,当逻辑表达式为假时执行 else 后面的语句。例:if 21 then ms

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

3、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 thenSheetl.range( “bl”)= ”优”Sheetl.range( “bl”)= ”良”Elseif sheet1.ra nge(“a1”)70 thenSheetl.range( “bl”)= ”中”ElseSheetl.range( “bl”)= ”差”End if在这个例子里,开始时单元格的内容是全部的数字集,它可以是任何一个数 字,当运行完第一个条件判断后,如果条件不成立,单元格的数字则只能是 90 以 下的任意数字了,如果第二个条件判断

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

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

7、的内容为考试成绩,我们 要在B1里输入根据A1成绩相对应的等级。Select case sheet1.a1.valueCase is 90Sheet1.b1= ”优”Case is 80Sheet1.b1= ”良”Case is 70Sheet1.b1= ”中”Case elseSheet1.b1 =”差”End select这一段判断语句就比用 IF 语句要简单,并且运行的结果是一样的。用 select 做判断,可以不用写逻辑表达式,这里不是说不需要条件,任何判断都是需要条件 的,而是表达式是分开的。这里的判断条件就是 sheet1.a1.value 的值与 case 后面的比较,符合哪个条

8、件就执行哪个 case 后面的语句。在 select 判断中,如果逻辑运算符是” =”的话,这个” =”还可以省略。 例: 假定当前已打开工作簿,第一个表的 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 里,判断语句大体上有以上六种,这六种语句,不存在孰 优孰劣,并且每一种判断语句一般都能替代另一种。但它们各有各的优点和缺点, 简单的判断,用前三种,能达到简化语句的作用,但在多条件判断时就有点力不从 心,多条

温馨提示

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

评论

0/150

提交评论