Передача двух строковых аргументов в макрос Excel из кнопки - PullRequest
0 голосов
/ 07 марта 2019

Я написал макрос, в котором изначально было 0 аргументов, и вызвал макрос из кнопки на моем листе Excel. Дизайн изменился, и теперь я добавил в макрос два необязательных аргумента, например:

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

Сейчас я пытаюсь передать оба аргумента макросу с кнопки, но каждый раз получаю сообщение об ошибке.

Сначала я попробовал:

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

, как было предложено в этом вопросе , но получил ошибку для That function isn't valid.

Я заметил, что в этом вопросе в верхнем ответе также требовалось заключить все имя макроса в одинарные кавычки, поэтому я так и сделал:

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

И на этот раз туда попала ошибка Formula is too complex to be assigned to an object.

Что я делаю не так?

1 Ответ

2 голосов
/ 07 марта 2019

Это сработало для меня:

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

С ButtonClick как саб.Требуются одинарные кавычки.

Обратите внимание, это также работает:

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

, поскольку [] является сокращением для VBA Evaluate()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...