Назначение обработчиков событий для элементов управления в пользовательской форме, созданных динамически в VBA, в подпункте
Мой вопрос связан с этим . Я создал класс:
Public WithEvents btn As MSForms.CommandButton Private Sub btn_Click() MsgBox "Hello" End Sub
Код ниже работает хорошо. Я имею в виду 10 кнопок, и после их нажатия появляется окно сообщения.
Dim collBtns As Collection Public Sub UserForm_Initialize() Dim btn As CommandButton Dim btnH As cButtonHandler Set collBtns = New Collection For k = 1 To 10 Set btn = testform.Controls.Add("Forms.CommandButton.1", True) With btn .Caption = "Title" .Left = 80 .Width = 80 .Top = 20 * k Set btnH = New cButtonHandler Set btnH.btn = btn collBtns.Add btnH End With Next k End Sub
Однако мне нужно использовать эту процедуру в другой процедуре. Код ниже не работает.
- Экзамен Excel 2016 VBA активируется, но затем деактивируется
- Добавить правила IF с использованием пользовательской формы в excel vba
- Link Combobox с текстовым полем в vba Excel
- Отображение Excel на основном мониторе
- Заполнение ComboBox со списком диаграмм на листе
Dim collBtns As Collection Public Sub UserForm_Initialize() Call Click100 End Sub Public Sub Click100() Dim btn As CommandButton Dim btnH As cButtonHandler Set collBtns = New Collection For k = 1 To 10 Set btn = testform.Controls.Add("Forms.CommandButton.1", True) With btn .Caption = "Title" .Left = 80 .Width = 80 .Top = 20 * k Set btnH = New cButtonHandler Set btnH.btn = btn collBtns.Add btnH End With Next k End Sub
- Проверка данных Excel
- Может ли формула ячейки Excel ссылаться на элемент управления UserForm?
- Ошибка выполнения VBA Excel VBA -2147319767 (80028029)
- Изменения отслеживания Excel VBA
- Текстовое поле VBA, отображающее валюту
- Excel VBA UserForm - обновление / переопределение данных
- Excel Userform - Обратный фокус на ComboBox после нажатия кнопки ввода
- Как настроить мой GIF, когда я запускаю пользовательскую форму? (VBA) ,