Использование программно созданных кнопок - VBA
Формулировка задачи:
Добрый день.
Есть кнопка которая считает кол-во заполненных строк на листе и создает такое же количество кнопок на
форме с беря название с этих же ячеек. Вопрос в чем: как их дальше использовать?
Каждая кнопка обозначает подразделение и хотелось бы по клику что бы открывалась другая форма соответствующая подразделению.
Пробывал ссылаться по названию создаваемой кнопки, не получилось.
Заранее спасибо за помощь) т.к. всегда находится кто-то не равнодушный.
P.S. Знаю код простоват и многие найдут кучу более изящных решений.
P.S.S. X добавлен для создание кнопок под другой тип подразделений в другом столбце, просто еще не задействовал.
Решение задачи: «Использование программно созданных кнопок»
textual
Листинг программы
Private Sub CommandButton1_Click() Dim t As Integer Dim r As Integer, k As Integer, i As Range, c As Integer Dim newctrl As Control, z As Integer, x As Integer, y As Integer, h As Integer Sheets("liti").Select If OptionButton1.Value = True Then t = 1 Else If OptionButton2.Value = True Then t = 2 Else If OptionButton3.Value = True Then t = 3 r = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count k = 0 For Each i In Range(Cells(2, t), Cells(r, t)) If i.Value <> "" Then k = k + 1 Next i z = 0 x = 50 y = 150 h = 2 Do Until k = z Set newctrl = Controls.Add("forms.commandbutton.1", Button) newctrl.Left = x newctrl.Top = y newctrl.Width = 100 newctrl.Caption = Cells(h, t) z = z + 1 y = y + 50 h = h + 1 Loop End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д