Как вызвать модуль, написанный в Excel, по нажатию кнопки элемента управления ActiveX
Как вызвать модуль, написанный в Excel, нажав на элемент управления ActiveX на рабочем листе?
3 ответа
Не совсем понятно, о чем вы спрашиваете, но я понимаю, что это ваша проблема:
У вас есть элемент управления ActiveX, который запускается при событии щелчка. VBA для этого вызывается только нажатием кнопки и не может быть вызван из любого другого Sub, но вы хотели бы иметь возможность вызывать этот код из другого модуля.
Я не верю, что вы можете сделать это, но есть лучший подход к проблеме. Поместите код для вашего элемента управления ActiveX в новый Sub в модуле. Затем замените код для события нажатия кнопки следующим:
Private Sub CommandButton1_Click()
Call NewSub
End Sub
куда NewSub
это имя вашего нового Sub. Это должно позволить вам делать то, что вы хотели.
Чтобы вызвать подпрограмму, расположенную в ThisWorkbook из SHeet1: Сделайте это: Call ThisWorkbook.ParseText
Где определение: Public Sub ParseText()
Код для элемента управления ActiveX, например button_click на рабочем листе, может вызываться из других подпрограмм, даже из других модулей. Просто используйте ключевое слово "Public" для описания элемента управления ActiveX вместо "Private". Затем вызовите суб с утверждением, таким как Call Sheets(mySheetName).myButtonName_Click
,