【问题标题】:VBA optional parametersVBA 可选参数
【发布时间】: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,谢谢

标签: vba parameters optional


【解决方案1】:

结尾的, 违反语法规则,省略:

b 1

(或者提供一个占位符b 1, p2:

【讨论】:

  • 能否请您显示缺少最后一个参数的 sub a() 和 sub b() 代码?谢谢
猜你喜欢
  • 2015-04-30
  • 1970-01-01
  • 2015-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多