Использование программно созданных кнопок - 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