第四章 VBA传递参数步骤.pdfVIP

  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传递参数步骤 到⽬前为⽌,你已经创建了简单的可以执⾏具体任务的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()

文档评论(0)

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

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

1亿VIP精品文档

相关文档