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

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

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



 – 1)。你还能使用别的方法来运行函数Avg吗?使用你自己的方法在工作表里运行该函数,确保你 
使用两个和三个参数来运行该函数。  
技巧4-10 测试函数过程  
可以编写一个子程序调用自定义函数,并且显示它的结果,看它是否能得到设计结果。除此之外, 
该子过程还应该能显示参数的原始数据,这样,你才能很快知道参数数值是否改变了。如果该函数 
使用了可选参数,你也需要检查不使用可选参数时候的情况。  

10。定位内置函数  

VBA自带了很多内置函数,可以在在线帮助里很容易地找到这些函数。在VB编辑器窗口选择“帮助” 
-“Microsoft Visual Basic帮助”可以访问所有VBA函数按字母顺序排序的清单,然后点击“函 
数”,  
例如,以MsgBox或InputBox函数为例。一个程序好的功能之一就是要与用户互动,当你使用Excel 
时,你通过多种对话框与该应用程序交流,当你犯错的时候,对话框会弹出来,并且告诉你有错误。 
当你编写你自己的程序时,你也可以将出乎意料的错误或某个计算的结果通知用户,你可以使用函 
数MsgBox帮助你做这些。到目前为止,你只是看到了这个函数的一些简单应用,在下面的部分,你 
将了解如何控制你信息的外观;你也将学习如何使用函数InputBox从用户获得信息。在我们详细讨 
论这些函数之前,我们来看一个VBA函数,在你已经很熟悉变量和它们的类型的时候,它对你特别 
有用处。  
VB有个VarType函数,它返回一个值变量类型的整数。图4-4例显示了函数VarType的语法和它返回 
的值。  

                                               89 

… 页面 106…

                                                                                                   
图4-4 使用内置函数VarType,你可以判别变量的类型(译者:本截图与2002版本有区别)  
现在,看看如何在立即窗口里使用这个函数:  
1。  打开立即窗口  
2。  输入下列给变量赋值的语句  
age = 18   
birthdate = #1/1/1981#   
firstName = 〃John〃   
3。  现在询问VB每个变量的数据类型是什么:  
?varType(age)  
你按下回车时,VB返回2,如图4-4所示,数字2代表整数类型。  
?varType(birthdate)   
VB返回7代表日期。如果你在变量名称上犯了个小错误(比如说,你输入了birthday而不是 
birthdate),VB将返回0。  
?varType(firstName)  
VB告诉你变量firstName的数据是字符串(8)。  

11。使用 MsgBox 函数  

你目前使用的MsgBox函数局限于给用户用一个简单的,一个按钮的对话框显示信息。你点击确定按 
钮或者回车来关闭该信息框。要创建一个简单的信息框,只要在MsgBox函数名称后面带上一个用引 
号包括起来的文本就可以了。换句话说,要显示信息“过程已完成”,你应该准备下列语句:  
MsgBox 〃过程已完成〃   ‘(注意,英文状态的引号)  
你可以将它输入立即窗口,快速地测试上面的指令,当你输入完这条指令并且回车后,VB就显示如 

                                           90 

… 页面 107…

图4-5的信息框。  

                     
图4-5 将文本作为MsgBox函数的参数,来给用户显示信息  
MsgBox函数允许你使用其它参数,使你可能决定可用的按钮数目,或者将默认的信息框的标题 
 (Microsoft Excel)改为你自己的标题。也可以设置你自己的帮助主题。MsgBox的语法如下:  
MsgBox (prompt '; buttons' '; title'; '; helpfile; context')   
注意,MsgBox函数有五个参数,只有第一个,Prompt(提示),是必须的;这些列在方括号里面的 
参数都是可选的。当你在提示参数输入一个非常长的文本时,VB决定如何断句,使文本适合信息框 
大小。我们在立即窗口里来做些练习,看不同的文本格式技巧:  
1。  在立即窗口输入以下指令,确保在一行里输入整个文本,回车  
MsgBox 〃All done。 Now open 〃〃Chap04。xls〃〃 and place an empty disk in the diskette drive。  
The following procedure will copy this file to the disk。〃  
一旦回车,VB显示信息框,如图4-6  

                                                                                                 
图4-6 如果你设置一下文本格式,长信息看上去将会更吸引人  
如果你遇到编译错误,可以点击确定,然后确定文件名用双引号括起来——““Chap04。xls””。 
当你的信息文本特别长时,你可以使用VBA函数Chr将它分割为好几行。Chr函数需要你跟参数,这 
个参数是0到255之间的数字,它返回这个数字代表的字符。例如Chr(13)返回的是回车(这和按下 
回车键相同),以及Chr(10)返回换行字符(这在文本行之间添加空行很有用)。  
2。  将上面的指令修改为下述方式:  
MsgBox 〃All done。〃 & Chr(13) & 〃Now open 〃〃Chap04。xls〃〃 and place〃 & Chr(13) & 〃an empty  
disk in the diskette drive。〃 & Chr(13) & 〃The following procedure will copy this file to  
the disk。〃  

                                            
图4-7 通过使用Chr(13)可以将长文本分割成几行  
你必须将每段文本片断用引号括起来,内嵌在括号里面的文本(显示状态)需要再用一对括号来括 
起来,例如““Chap04。xls””。Chr(13)函数指明你希望开始新的一行的地方。字符串的连接字 
符(&)用来返回连接字符串的字符。  
在一行输入及其长的文本的时候,很容易失误。回想一下,VB有一个专门的线连续字符(下划线_) 
帮你将长VBA语句分割为几行,不幸的是,这个线连续符不能在立即窗口使用。  
3。  在工程MyFunctions (Chap04。xls)里添加一个新模块并命名为Sample6  
4。  激活模块Sample6并且输入如下所示的子程序MyMessage,确保在每个线连续符前面加个空格:  
Sub MyMessage()   
     MsgBox 〃All done。〃 & Chr(13) _   

                                           91 

… 页面 108…

     & 〃Now open 〃〃Chap04。xls〃〃 and place〃 & Chr(13) _   
     & 〃an empty disk in the diskette drive。〃 & Chr(13) _   
     & 〃The following procedure will copy this file to the disk。〃   
End Sub   
你运行过程MyMessage时,VB显示如图4-7一样的信息。正如你看到的,在几行输入的文本更具可 
读性,而且代码更容易维护。你可以在文本行之间添加一下空白行,来增加信息的可读性。使用 
Chr(13)或two Chr(10)函数就可以做到,如下列步骤所述。  
5。  输入下面的MyMessage2过程:  
Sub MyMessage2()   
     MsgBox 〃All done。〃 & Chr(10) & Chr(10) _   
     & 〃Now open 〃〃Chap04。xls〃〃 and place〃 & Chr(13) _   
     & 〃an empty disk in the diskette drive。〃 & Chr(13)& Chr(13) _   
     & 〃The following procedure will copy this file to the disk。〃   
End Sub  
图4-8显示了MyMessage2过程产生的信息框。  

                                           
图4-8 你可以通过在文本行之间添加空行增加信息的可读性  
既然你已经掌握了文本的格式技术,那么我们就来仔细地看看MsgBox函数的下一个参数吧。尽管按 
钮参数时可选的,但是它的使用还是很频繁的。这个按钮参数明确多少个按钮,并且是什么样的按 
钮你想要出现了信息框上,这个参数可以是个常量(参见表4-1),也可以是个数字。如果你忽略 
这个参数,结果辛苦只会有一个“确定”按钮,正如你在前面的例子里看到的那样。  
表4-1 MsgBox按钮参数的设置  
常量                        值              描述  
按钮设置                                      
vbOKOnly                    0               仅显示确定按钮,这是默认值  
vbOKCancel                  1               显示确定和取消按钮  
vbAbortRetryIgnore          2               显示终止,重试和忽略按钮  
vbYesNoCancel               3               显示是,否和取消按钮  
vbYesNo                     4               显示是和否按钮  
vbRetryCancel               5               显示重试和取消按钮  
图标设置                                      
vbCritical                  16              显示重要信息图标  
vbQuestion                  32              显示问号图标  
vbExclamation               48              显示警告信息图标  
vbInformation               64              显示信息图标  
默认按钮设置                                  
vbDefaultButton1            0               第一个按钮是缺省值  
vbDefaultButton2            256             第二个按钮是缺省值  
vbDefaultButton3            512             第三个按钮是缺省值  
vbDefaultButton4            768             第四个按钮是缺省值  
信息框形式                                    
vbApplicationModal         
返回目录 上一页 下一页 回到顶部 1 1
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!