VBA 可选参数
Posted
技术标签:
【中文标题】VBA 可选参数【英文标题】:VBA optional parameters 【发布时间】:2014-03-16 15:03:42 【问题描述】:Private Sub a()
b 1,
End Sub
Private Sub b(p1 As Variant, Optional p2 As Variant)
Stop
End Sub
我在 Access 中使用 VBA。我想要一个带有 2 个参数的过程 - 最后一个是可选的。 为什么 Private Sub a() 不能编译。
如何通过调用 b() 运行 a() 并且不传递任何参数作为第二个参数?
【问题讨论】:
只是b 1
没有逗号
just b 1 有效,但问题是假设我希望有三个参数,最后 2 个是可选的,如果缺少第三个(最后一个)参数,它总是返回编译错误
使用命名参数:b p1:=1
Yes OK 谢谢 Private Sub a() b p1:=1, p2:=1 End Sub Private Sub b(p1 As Variant, Optional p2 As Variant, Optional p3 As Variant) Stop End Sub p3 在 Sub a() 中的任何地方都没有提到,因此它丢失了。而不是 b 1,1,谢谢
【参考方案1】:
结尾的,
违反语法规则,省略:
b 1
(或者提供一个占位符b 1, p2:
)
【讨论】:
能否请您显示缺少最后一个参数的 sub a() 和 sub b() 代码?谢谢以上是关于VBA 可选参数的主要内容,如果未能解决你的问题,请参考以下文章