vba-基础2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vba-基础2

* * VBA语言基础——(2) 选择结构及其应用 当应用程序显示一个包括“是”和“否”按钮的消息框时,需 要决定:如果用户选择了“是”,应用程序应当执行什么操作; 如果用户选择了“否”又应当如何。 换句话说,应当根据用户的选择执行不同的语句。通过 条件语句可以实现这种功能。条件语句可以判断一个条件是 Tr u e还是F a l s e,并且根据判断的结果执行一条或者多条语 句。 一、条件表达式 怎么样用程序来表达比较,这里是采用VBA的条件表达式 ,常用的条件表达式如下: = 等于 1=2 (判断1跟2是否相等,比较结果是false) 不等于 i3 (判断变量i的内容是否比等于3,如果变量 内容为的话,则表达式结果为true) 大于 len(i)j(判断变量i内存储字符串的长度是否大于 J变量的内容) = 大于或等于 小于 = 小于等于 有时,需要检测某个数值是否满足多重条件。例如,也许需要 检测一个雇员的工作时间是否超过5年,并且是否是管理人员。 要做到这样,可以用逻辑运算符来合并需要检测的条件,常用 的逻辑运算符如下: A n d 如果两个条件为真,则结果为真 O r 如果两个条件中有一个为真,则结果为真 N o t 如果条件表达式为假,则结果为真;如果条件表达式 为真,则结果为假 比如 53 and 35 的结果为false not 53 的结果是false 53 or 64的结果是true 像这种只有true和false两种结果的情况,我们还可以将 判断结果保存在一个布尔型(boolean)的变量中。 二、If语句 If条件语句的语法结构如下: If 条件表达式1 T h e n [语句块1] [ElseIf 条件表达式n Then [ 语句块2] [e l s e i f 语句块n] . . . [ E l s e 语句块n+1 ] End If 如果条件表达式1检测的结果是Tr u e,将执行在T h e n之后 的语句。如果希望在同一条I f语句中检测第二个条件,可以 向I f语句中添加一条或者多条E l s e I f从句。V B A首先检测 I f后的条件,如果检测的结果是F a l s e,V B A将检测E l s e I f 从句后的条件,并重复检测,直至某个条件检测的结果为Tr u e。 如果所有条件检测的结果都是F a l s e,如果具有E l s e从句, 则执行之,如果没有,则在END if 处结束条件语句。 比如我们在工作表的BeforeDoubleClick事件中加入如下 代码: If Target.Value 60 Then Target.Value = 及格 Else Target.Value = 不及格 End If 注意该事件是在双击某个单元格之前发生的,发生的 时候,该事件会具有一个参数target,代表所双击的那个 单元格对象。我们在事件过程里,可以像使用对象变量 那样使用target参数。比如其value属性表示了那个单元格 的值,即内容。 考虑一下如何双击单元格,当其分数不及格时变为红色 底? 首先通过录制宏获得将某个单元格设置为红底色的VBA 代码如下: With Selection.Interior .ColorIndex = 3 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With 所以我们的加红代码只要简单的如下使用就可以了: If Target.Value 60 And Target.Value Then Target.Select ‘将该单元格加红的代码 End If 考虑为什么要用and检测两个条件?后一条件没有会 怎么样? 例:实现一个能根据单元格的输入分数,转换成相应的 优良中及格不及格的等级。 If Target.Value 60 Then Target.Value = 不及格 ElseIf Target.Value = 60 Then Target.Value = 及格 ElseIf Target.Value = 70 Then Target.Value = 中

文档评论(0)

quechui388620 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档