1

Как я могу вызвать модуль, написанный в Excel, нажав на элемент управления ActiveX на рабочем листе?

3 ответа3

2

Не совсем понятно, о чем вы спрашиваете, но я понимаю, что это ваша проблема:

У вас есть элемент управления ActiveX, который запускается при событии щелчка. VBA для этого вызывается только нажатием кнопки и не может быть вызван из любого другого Sub, но вы хотели бы иметь возможность вызывать этот код из другого модуля.

Я не верю, что вы можете сделать это, но есть лучший подход к проблеме. Поместите код для вашего элемента управления ActiveX в новый Sub в модуле. Затем замените код для события нажатия кнопки следующим:

Private Sub CommandButton1_Click()
Call NewSub
End Sub

Где NewSub - это имя вашего нового Sub. Это должно позволить вам делать то, что вы хотели.

0

Код для элемента управления ActiveX, например button_click на рабочем листе, может вызываться из других подпрограмм, даже из других модулей. Просто используйте ключевое слово "Public" для описания элемента управления ActiveX вместо "Private". Затем вызовите подпрограмму с помощью оператора, такого как Call Sheets(mySheetName).myButtonName_Click .

0

Чтобы вызвать подпрограмму, расположенную в ThisWorkbook, из SHeet1: Сделайте это: Вызовите ThisWorkbook.ParseText

Где определение: Public Sub ParseText()

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .