ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何给自定义函数或者过程定义参数默认值?

如何给自定义函数或者过程定义参数默认值?

作者:绿色风 分类: 时间:2022-08-17 浏览:115
楼主
amulee
Q:如何给自定义函数或者过程定义参数默认值?
A:在Excel内置的函数中,比如Vlookup等都有些参数有默认值,即忽略该参数的情况下,函数定义了一个值来替代此参数。在VBA编程时,定义自定义函数或者过程的时候,我们也可以设定参数的默认值。
首先,该参数必须是可选的,即加入Optional关键字。然后可在该参数类型定义之后加上“=默认值”。如下例。
  1. Sub CallMe(Optional ByVal Arg As String = "Hi")
  2.     MsgBox Arg
  3. End Sub


当我们调用的时候,没有给Arg参数定义值的时候,参数将会以"Hi"作为值进行传递。运行以下程序来体会一下区别吧。
  1. Sub Main()
  2.     CallMe          '未代参数,以默认值运行
  3.     CallMe "No"     '代参数,以参数运行
  4. End Sub
2楼
xyh9999
Q:在Sub及Function中如何设置可选参数?
A:有参数前加Optional。
   Optional表示参数不是必需的关键字。如果使用了该选项,则参数表中该参数后的参数都必须是可选的,而且必须都使用 Optional 关键字声明。
   如:

  1. Function test1(a, Optional b = 10, Optional c = 20)
  2.    test1 = a + b + c
  3. End Function
3楼
zw009172
不是沙发

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap