欢迎来到天天文库
浏览记录
ID:14761261
大小:41.50 KB
页数:10页
时间:2018-07-30
《excelvba编程24学时教程06》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ExcelVBA编程24学时教程06本文由water335贡献pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。6学时条件逻辑在前一学时中,学习了如何提示用户进行响应并且将用户的响应保存在变量中。这些变量可以用来干什么呢?你将用这些响应来进行判断。你需要做的是如何处理用户对你的提示可能做出的各种响应。通过条件逻辑可以做到这一点,而这正是本学时的重点。本学时的重点包括:?如何控制应用程序的流程?使用If语句?使用SelectCase语句?怎样显示Excel内置的对
2、话框6.1控制应用程序的流程新术语当应用程序显示一个包括“是”和“否”按钮的消息框时,需要决定:如果用户选择了“是”,应用程序应当执行什么操作;如果用户选择了“否”又应当如何。换句话说,应当根据用户的选择执行不同的语句。通过条件语句可以实现这种功能。条件语句可以判断一个条件是True还是False,并且根据判断的结果执行一条或者多条语句。你将发现可能会在你的应用程序中频繁地使用条件语句。新术语在条件语句中,你将使用条件逻辑来控制程序流程。条件逻辑可以根据变量值、用户的响应、函数计算或者设置的属性
3、选择不同的程序路径。当使用条件逻辑时,需要先创建一个检测判断,在根据检测的结果让程序执行不同的操作。新术语例如,如果过程显示一个输入框,并提示用户输入他的工作区域,通过条件逻辑可以实现:如果用户工作在南部地区,程序执行一组语句;如果用户工作在北部地区,程序会执行另一组语句。另一个例子是,如果你有一张包括所有雇员创造的销售额的工作表,可以创建一个过程,根据雇员在公司工作的时间计算他们的佣金。如果一个雇员的工作时间少于两年,则他可以得到2%的佣金;如果雇员的工作时间大于两年,那么他可以得到4%的佣金
4、。要进行这类判断,需要使用比较运算符。用比较运算符进行检测的结果或者为True(意味着满足测试条件)或者为False(意味着不满足检测条件)。通过对某些Excel函数(例如If函数)的使用,你也许已经对比较运算符很熟悉了。表6-1列出了可用的比较运算符。有时,需要检测某个数值是否满足多重条件。例如,你也许需要检测一个雇员的工作时间是否超过5年,并且是否是管理人员,以计算他的休假时间。要做到这样,可以用逻辑运算符来合并需要检测的条件。表6-2列出了VBA中的逻辑运算符。表6-1比较运算符比较运算符
5、=<>>>=<<=意义等于不等于大于大于或等于小于小于等于第6学时条件逻辑使用51表6-2逻辑运算符逻辑运算符AndOrNotXor意义如果两个条件为真,则结果为真如果两个条件中有一个为真,则结果为真如果条件表达式为假,则结果为真;如果条件表达式为真,则结果为假如果一个且仅有一个条件为真,则结果为真;如果两个条件均为真,或均为假,则结果为假6.2If语句将学习的第一条条件语句是If……Then……Else……语句。这条语句的语法如下:IfconditionThen[statements][Els
6、eIfcondition-nThen[elseifstatements]……[Else[elsestatements]]EndIfcondition是语法中必须的一部分,可在此处输入要检测的条件。如果条件检测的结果是True,将执行在Then之后的语句。如果希望在同一条If语句中检测第二个条件,可以向If语句中添加一条或者多条ElseIf从句。VBA首先检测If后的条件,如果检测的结果是False,VBA将检测ElseIf从句后的条件,并重复检测,直至某个条件检测的结果为True。如果所有条件检
7、测的结果都是False,VBA将执行EndIf语句,除非具有Else从句。如果If语句中所有条件检测的结果都是False,那么将执行可选的Else从句后的语句。在下面的练习中,将学习使用If语句:1)打开一个新的工作簿。2)创建一个如图6-1所示的工作表。图6-1本工作表是新的应用程序的基础52使用中文Excel2000编程24学时教程www:6ago.net3)在单元格B6中输入公式B3+B4以计算总额。4)按下Alt+F11键打开VisualBasic编辑器。5)用鼠标右键单击工程资源管理器
8、中的“ThisWorkbook”。6)选择“插入”“模块”向工作簿中添加一个模块。、7)创建一个新的名为Shipping的过程。8)为Shipping过程输入如下代码:DimiResponseAsIntegeriResponse=MsgBox("Doesthissaleneedtobeshipped?",vbYesNo)IfiResponse=vbYesThenRange("B4").Value=10ElseRange("B4").Value=0EndIf9)回到在第二步中创建的工作表。10)向
此文档下载收益归作者所有