Нужно вызвать форму и скрыть кнопки, номера которых указаны в массиве - VBA
Формулировка задачи:
Есть UserForm с 40 кнопками ("CB1"-"CB40").
Есть массив в основном модуле проги.
Нужно вызвать форму и скрыть кнопки (.Visible=False), номера которых указаны в массиве.
1) Проблема: нужно передать значения массива в подпрограмму инициализации формы. Но как?
Находил ответ для 1 переменной: через UserForm.Frame1.Capture=..., но тут целый массив.
2) Есть ли выход по-проще? - например скрыть эти кнопки на этапе перед инициализацией формы через модуль основной программы.
3) Как передать данные обратно в основной модуль проги?
4) Как запустить при нажатии кнопки на форме какую-либо функцию, подпрограмму: VBA ругается на выражения вроде: Call Workbook_Open внутри Private Sub CB1_Click()
5) Можно ли чтобы макрос основного модуля продолжал выполняться сразу после UserForm.Show, не ожидая закрытия формы?
Решение задачи: «Нужно вызвать форму и скрыть кнопки, номера которых указаны в массиве»
textual
Листинг программы
Option Explicit Public WithEvents BtnInArr As MSForms.CommandButton Private Sub BtnInArr_Click() Dim nn As Integer nn = CInt(Replace(BtnInArr.Name, "CommandButton", "")) BtnInArr.Parent.Caption = "Кнопка №" & nn End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д