- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VBA传递参数步骤
到⽬前为⽌,你已经创建了简单的可以执⾏具体任务的VBA过程,这些过程在它们运
⾏前 有要求你提供额外的数据。然⽽,在现实⽣活中,过程 (⼦程序和函数)经常
需要参数。参数 (⾃变量)是过程⼯作时需要的⼀个或多个数值。参数通常输⼊在括
号之间,多个参数⽤逗号分割开来。使⽤Excel有⼀阵了,你已经知道Excel 内置函数
根据你提供的数据可能产⽣不同的结果。例如,如果单元格A4和A5分别含有数字5和
10 ,加和公式=SUM(A4:A5)将会返回15 ,除⾮你更改单元格⾥⾯的数值。正如你可以
传递数值给Excel 内置函数,你也可以传递数值给⾃定义VBA过程。
现在,我们来看看如何从⼦程序传递数值给函数SumItUp 。这个⾃定义函数⽬的是计算⼀个
⼈的姓和名的字母数⽬。
1.在放置函数SumItUp 的模块⾥输⼊下列⼦程序NumOfCha acte s :
Sub NumOfCha acte s()
Dim f As Intege
Dim l As Intege
f = Len(InputBox(Ente fi st name:))
l = Len(InputBox(Ente last name:))
MsgBox SumItUp(f ,l)
End Sub
2. 将光标放在过程NumOfCha acte s的任意地⽅并按下F5 。VB将显⽰信息输⼊框问你
名字,这个信息框由下⾯的函数产⽣:
InputBox(Ente fi st name:)
3. 输⼊任何名字,回车,VB接受你输⼊的⽂本并且将它作为⼀个参数传递给函数
Len 。函数Len计算提供的⽂本的字母数⽬。VB将函数Len的结果储存于变量f 以供以
后使⽤。这之后,VB显⽰下⼀个信息框,这次是问你的姓。
4 . 输⼊任何姓,回车。VB将输⼊的姓传递给函数Len来获得姓的⽂本长度,然后数值
储存于变量l 。接下来发⽣什么呢?VB遇到了函数MsgBox ,这个函数告诉VB显⽰函
数SumItUp 的结果。然⽽,因为这个结果还 有准备好,VB很快就跳到函数SumItUp
⾥,使⽤变量f和l储存的数值来做计算。在函数内部,VB⽤变量f的值取代参数m和变
量l值取代参数n 。⼀旦取代⼯作完成,VB将两个数值加和起来,并且将结果返回给函
数SumItUp 。函数SumItUp 内部 有其它的任务了,因此,VB又马上返回⼦程序并且
将函数SumItUp 的结果作为⼀个参数提供给函数MsgBox 。现在这个信
息出现在屏幕上,显⽰了字母总数⽬。
5. 点击确定退出信息框,你可以多次运⾏过程NumOfCha acte s ,每次输⼊不同的姓
名。我们来看看另外⼀个使⽤变量传递参数的例⼦:
1. 在⼯程MyFunctions (Chap04 .xls)⾥添加⼀个新模块,并重命名为Sample2
2. 激活模块Sample2并且输⼊⼦程序Ente Text :
Sub Ente Text()
Dim m As St ing , n As St ing , As St ing
m = InputBox (Ente you fi st name:)
n = InputBox(Ente you last name:)
= JoinText(m , n)
MsgBox
End Sub
3. 输⼊下述函数过程:
Function JoinText(k ,o)
JoinText = k + + o
End Function
4 . 运⾏过程Ente Text
VB执⾏语句时,它收集⽤户输⼊的数据并且将这些数据储存在变量m和n上,然后传
递这些数据到函数JoinText 。VB将这些变量的值取代函数JoinText的参数,并且将结
果赋到函数名称 (JoinText )上。当VB返回过程Ente Text 时,函数的值储存于变量 。
然后,函数MsgBox在信息框⾥显⽰变量 的内容。结果就是⽤户的完整姓名 (姓和名
⽤空格分开)。要从函数传递数值给⼦程序,需要将该值赋到函数名称,例如,下⾯
的函数NumOfDays将值7传递到⼦程序DaysInAWeek :
Function NumOfDays()
您可能关注的文档
- 第六章集合和字典.pdf
- 第3章 超级链接及列表.ppt
- 第二篇 IO端口地址译码技术习 题.ppt
- 清洁验证取样方法与检验方法验证方案.doc
- 8051封装和引脚.pptx
- 标准HTML标识符资料.doc
- 材料测试技术(武汉理工大学)资料.pdf
- 第十三讲 令牌环访问控制及IEEE802.5标准.ppt
- 第2讲 内存.ppt
- C++中用ODBC及ADO方式连接SQL数据库.doc
- 2025浙江温州市公用事业发展集团有限公司面向高校招聘工作人考前自测高频考点模拟试题最新.docx
- 2025年蓬安县财政局下属单位招聘备考题库附答案.docx
- 广安市农业农村局2025年公开遴选市动物卫生监督所工作人员备考题库附答案.docx
- 南昌市劳动保障事务代理中心招聘3名劳务派遣驾驶员参考题库附答案.docx
- 2025浙江绍兴市新昌县机关事业单位招用编外聘用人员36人备考题库最新.docx
- 浙江国企招聘-2025嘉兴海盐县城市投资集团有限公司招聘7人笔试备考试题附答案.docx
- 长沙银行2026校园招聘备考题库最新.docx
- 2026年度中国地震局事业单位公开招聘备考题库附答案.docx
- 2025福建省晋江圳源环境科技有限责任公司招聘6人模拟试卷附答案.docx
- 浙江国企招聘-2025温州平阳县城发集团下属房开公司招聘5人公笔试备考试题附答案.docx
原创力文档


文档评论(0)