Есть ли способ передать объект ActiveSheet и объект в качестве аргументов для подпрограммы, которая вызывается с помощью кнопки на рабочем листе?
Я знаю, что вы можете передавать аргументы в макрос из командной кнопкииз следующего:
Как вызвать макрос из кнопки и передать аргументы
Однако как бы вы отправили следующие аргументы подпрограмме, когда нажата кнопка_1?(без использования события commandButton_click)
аргумент 1: ws как лист (лист, содержащий кнопку, которая была нажата) аргумент 2: кнопка как объект (кнопка, которая была нажата)
Iпопробовал следующее в поле ввода «Назначить макрос» для кнопки.
'SubToBeCalledByButton (ActiveSheet, this)'
Попробовал / u / Nathan_Sav предложение поставить вызов как: 'SubToBeCalledByButton (activesheet, activesheet.shapes ("Button Name")) ", но получил следующую ошибку:
Вот вход, который я использовал вназначить макрос:
Вот подпрограмма, вызываемая кнопкой:
Public Sub DetailButton(ws As Excel.Worksheet, but As Object)
Debug.Print "ws:" & vbTab & ws.Name
Debug.Print "but:" & vbTab & but.Name
Debug.Print "cal:" & vbTab & Application.Caller
End Sub