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

付费下载

下载本文档

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

文档简介

1、excelvba之判断语句学习 VBA之 判断语句1.单行形式 (IFTHEN)格式 :if <逻辑表达式 > then < 执行语句 > :< 执行语句 >在这里逻辑表达式为条件,当条件为真时,执行then 后面的语句,如果执行的是多条,在语句中间用冒号分开(:)例 1: If 11>10 then a=a+1例 2: if 11>10 then a=a+1 : b=b+1 : c=c+12.单行形式(IFTHEN .ELSE.)格式 :if <逻辑表达式 > then <执行语句 > else <执行语句 >

2、;当逻辑表达式为真时,执行then 后面的语句,当逻辑表达式为假时执行else后面的语句。例:if 2>1 then msgbox“yes” else msgbox“no”3.多行形式 (IF.THEN.END)格式 :if <逻辑表达式 > then<执行语句 > 执行语句 . End if此语句运行的结果和第一条单行形式的IF 语句是一样的,好处是可以在逻辑表达式为真时,可以执行相对多条的语句,并且清晰易懂。例:if 11>10 thenA=a+1B=b+1C=c+1End if4.多行形式 (IF.THEN.ELSE.END)格式 :if <逻辑

3、表达式 > then<执行语句 > 执行语句 . Else<执行语句 > 执行语句 .End if这个用法的结果等同于第二条单行形式,适用于比较复杂的判断语句,并清晰易懂。例 :if 11>10 then A=a+1 B=b+1Else A=a-1 B=b-1End if5.多行形式 (IF.THEN.ELSEIF.ELSE.END)格式 :if <逻辑表达式 > the<执行语句 > 执行语句 .Elseif <逻辑表达式 > then<执行语句 > 执行语句 . Else<执行语句 > 执行语句

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

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

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

7、。所以在编写这种判断语句时应注意逻辑表达式的先后顺序。6.判断语句之 SELECT格式 :select case对象Case is <逻辑运算符 > < 变量 ( 或常量 )><执行语句 > 执行语句 .Case is <逻辑运算符 > < 变量 ( 或常量 )><执行语句 > 执行语句 . Case else<执行语句 > 执行语句 .End select在这里,对象可以是一个变量,也可以是指定单元格内的值,还可以是一组正确的表达式,然后通过这个对象的值能符合下面哪个case 后面的值,再决定执行哪个 cas

8、e 下面的执行语句。如果都不符合,则执行case else后面的执行语句。例 : 假定当前已打开工作簿,第一个表的 A1 单元格的内容为考试成绩,我们要在 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做判断,可以不用写逻辑表达式,

9、这里不是说不需要条件,任何判断都是需要条件的,而是表达式是分开的。这里的判断条件就是sheet1.a1.value的值与 case后面的比较,符合哪个条件就执行哪个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

提交评论