从按钮向Excel宏传递两个字符串参数

时间:2019-03-07 18:30:01

标签: excel vba

我编写了一个最初具有0个参数的宏,然后从Excel工作表上的按钮调用了该宏。设计发生了变化,现在我向宏添加了两个可选参数,如下所示:

Function ButtonClick(Optional prop1 As String, Optional prop2 As String)
    `Do stuff here
End Function

我现在正尝试将两个参数都从按钮传递给宏,但是每次都会出错。

首先我尝试:

Sheet1.xlsm!ButtonClick(EVALUATE("A3"), EVALUATE("A4"))
如在此question中所建议的

,但对于That function isn't valid却出错。

我注意到在问题中,最上面的答案还要求将整个宏名称用单引号引起来,所以我这样做了:

'Sheet1.xlsm!ButtonClick(EVALUATE("A3"), EVALUATE("A4"))'

这次出现错误Formula is too complex to be assigned to an object

我在做什么错了?

1 个答案:

答案 0 :(得分:2)

这对我有用:

'Sheet1.ButtonClick Evaluate("A3"), Evaluate("A4")'

ButtonClick为子。单引号是必需的。

请注意,这也适用:

'Sheet1.ButtonClick [A3], [A4]'

因为[]是VBA Evaluate()的快捷方式