Iam создавая свои метки и флажки по коду:петля VBA Excel на userform.label
i = 1
While Not Sheets("I_M_1_1PW").Cells(9 + i, 43) = "koniec"
Set theLabel = UserForm1.Controls.Add("Forms.Label.1", labelCounter, True)
With theLabel
.Caption = Sheets("I_M_1_1PW").Cells(9 + i, 43)
.Left = 10
.Width = 100
.Top = 13 * labelCounter
Debug.Print labelCounter & " " & theLabel.Caption
End With
Set chkbox = UserForm1.Controls.Add("Forms.CheckBox.1", "CheckBox_" & i)
chkbox.Caption = Sheets("I_M_1_1PW").Cells(9 + i, 44)
chkbox.Left = 100
chkbox.Width = 75
chkbox.Top = 13 * labelCounter
i = i + 1
labelCounter = labelCounter + 1
Я могу найти активного флажком по коду:
For j = 1 To Granica - 1
If UserForm1.Controls("CheckBox_" & j).Value = True Then
Wynik1 = UserForm1.Controls("CheckBox_" & j).Caption + Wynik1
'* Wzorce = Wzorce + UserForm1.label(j).Caption
End If
Next
Но в «* место я получил проблема, не могу взять label.caption, когда iam с помощью UserForm1.Controls (j). Запишите его цикл через все части частей user.form и не только метки.
Я думаю, что это не очень хорошая идея дать простое числовое значение (то есть: labelCounter) в качестве имени ваших ярлыков. Возможно, создайте имя, которое вы делаете для флажков: 'UserForm1.Controls.Add (« Forms.Label.1 »,« label_ »и labelCounter, True)'. –