友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
飞读中文网 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

excel_vba_编程教程(完整版)-第43章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



5。  输入下列函数GetLast:  
Function GetLast(fullName As String)   
  Dim space As Integer   
   space = InStr(fullName; 〃 〃)   
  GetLast = Right(fullName; Len(fullName) … space)   
End Function   
主过程里面的第三条语句 (见第二步)last = GetLast(full),将变量full的值传递给函数GetLast。 
该函数的目的是提取用户提供的数据中的用户的姓。函数GetLast使用内置函数Len来计算字符串 

                                           101 

… 页面 118…

fullName的总字符数。函数Right提取字符串fullName从右边某个特定字符开始(Len(fullName) –  
space)的字符。然后,获得的字符串赋值给函数名称,一旦返回主过程,它就储存于变量last。  
6。  输入下述子过程DisplayLastFirst:  
Sub DisplayLastFirst(firstName As String; lastName As String)   
  MsgBox lastName & 〃; 〃 & firstName   
End Sub   
主过程里面的第四条语句(见第二步)Call DisplayLastFirst(first; last),调用子过程 
DisplayLastFirst并且将两个自变量:first和last。为了接收这些自变量,子过程 
DisplayLastFirst和两个相匹配的参数(firstName和lastName)一起被声明了。回想我们前面说 
过,不同的名称可以用在自变量和相应的参数上。然后子过程DisplayLastFirst显示用户的姓,逗 
号,和名。  
技巧4…16 使用子过程的好处  

17。接下来……  

在本章里,你学习了子过程和函数之间的区别:子过程执行操作;函数返回数值。而且你可以通过 
录制或者输入来创建子过程,函数则不可以录制,因为它们可能需要参数,你必须手动输入。你看 
到了从工作表或者其他VB过程调用的函数实例。  
你学习了如何给函数传递自变量,决定函数结果的数据类型。你在你的VBA关键字的系统里增加了 
ByVal,ByRef和Optional等关键字。你也看到如何将问题分割为更小更简单的任务,以使你的程序 
更容易理解。最后,你学习了子过程如何在参数的帮助下,将数值传递回到主调过程。  
过了本章后,你应该能够创建适合你特定需要的你自己的自定义函数了。你应该可以通过使用 
MsgBox和InputBox函数轻松地和用户互动。第五张将介绍程序抉择,你将学习如何基于你提供的情 
形结果改变你的VBA过程的方向。  

                                 第五章 基于 VBA 做决定  

作者:Julitta Korol      翻译:Tiger Chen Jan 16’ 2005  
我们每天要作成千上万个决定,有些决定是自发的,我们自动地作出了这些决定,而不需要停下来 
去想。其它的决定则需要我们事先两个或者两个以上的选择甚至计划好几个任务。VBA和其它的编 
程语言一样,提供了专门的语句允许你在自己的程序中包含抉择点。但是,什么是做决定呢?举例 
说某人问你这个问题:“你喜欢红色吗?”想过这个问题之后,你将回答“是”或者“不”。如果你 
不确定或者根本就不关心这个问题,你也许就回答“也许”或“可能”。在编程中,你必须决断, 
只有“是”或“否”的答案是允许的。在编程中,所有的决定都是基于提供的答案作出的。如果答 
案是肯定的,程序就会执行某段特定的指令;如果答案是否定的,程序则将执行另外一段指令或者 
干脆就不做任何操作。在本章,你将学习如何使用VBA条件语句来改变你的程序流向。条件语句通 
常称为“控制结构”,因为它们使你能够控制你的VBA过程的走向,跳过某些语句以及“分叉”到程 
序的另外一部份去了。  

1。关系和逻辑运算符  

你在你的VBA过程里面通过使用专门的控制结构里的条件表达式来做决定。条件表达式是使用关系 
运算符(见表5…1),逻辑运算符(见表5…2)或者两者结合的表达式。当VB在你程序里遇到条件表 
达式时,它将评估该表达式是对还是错。  
表5…1 VBA中的关系运算符  
运算符                         描述  
=                              等于  
                             不等于  
》                              大于  

                                           102 

… 页面 119…

《                             小于  
》=                            大于等于  
50 Then   
  MsgBox 〃The exact value is 〃 & ActiveCell。Value   
  Debug。Print ActiveCell。Adress & 〃: 〃 & ActiveCell。Value   
End If  
在上面的例子中,如果当前单元格数值小于等于50的话,那么在关键字Then和End If之间的语句就 
不会执行。注意,If…Then语句必须以关键字End If结束。VB如何作决定呢?它评估在关键字If 
和Then中间找到的条件。我们来评估一下下面的条件:ActiveCell。Value 》50  
1。  在一个空白工作表上选择任意一个单元格并输入50  
2。  切换到VB编辑器窗口  
3。  激活立即窗口  
4。  输入下述语句,并且按下回车键  
? ActiveCell。Value 》50  
回车后,VB写下测试结果——false。当测试结果为假时,VB将不会读代码中关键字Then之后的语 
句,它将直接跳过去读下行代码,但是,如果没有其它的代码行时,程序就将结束。  
5。  现在,将运算符改为小于等于号,并且让VB评估下述条件:  
? ActiveCell。Value 
返回目录 上一页 下一页 回到顶部 1 1
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!