多参数 subs vba

Posted

技术标签:

【中文标题】多参数 subs vba【英文标题】:multiple argument subs vba 【发布时间】:2012-04-26 11:52:48 【问题描述】:

在 Access 2010 中使用 VBA,我有一个子:

Public Sub setInterest(account As String, dmonth As Integer)
    ...somecode...
End Sub

我用它来称呼它

setInterest("myAccount",3)

我遇到语法错误。 将 sub 修改为仅接受一个参数并省略 3 不会出错,问题仅在于我有 2 个参数时。

【问题讨论】:

Calling a Sub in VBA... 和许多其他的重复项。这个问题已经回答过多次了。 【参考方案1】:

当使用多个参数时,您可以这样写:

 setInterest "myAccount", 3

或者

 Call setInterest("myAccount", 3)

在这两个示例中,您都可以命名参数:

setInterest account:="myAccount", dmonth:= 3

【讨论】:

【参考方案2】:

我添加了这个答案,为什么你的语法适用于一个参数?

Public Sub setInterest(account As String)
    '...somecode...
End Sub

setInterest ("myAccount")

注意:() 之间没有任何, 时,VBA 认为这是一个公式 并且恰好是一个参数。

公式计算的时候结果是这样的:

Dim str As String
str = ("TEST")
Debug.Print str

[Output:]
TEST

【讨论】:

以上是关于多参数 subs vba的主要内容,如果未能解决你的问题,请参考以下文章

VBA注意事项

如何在 VBA 中调用带有列表和另一个参数的函数?

VBA语句 --- 判断语句

vba中如何在一个function中 输入一个参数返回另一个参数

VBA基础 - 函数和模块

当用户输入超过预期的参数时,强制 VBA 中的 UDF 显示 MsgBox?