У меня есть кнопки + и - для добавления и удаления комбинированных окон в пользовательской форме, проблема в том, что я получаю код для запуска при изменении этих новых окон.Мне было интересно, возможно ли иметь триггеры для элементов, которые не существуют, пока я не нажму кнопку + в форме?
Я попытался добавить триггеры с именем, которое будет иметь поле, но это не так.t активировать.
Это код, который я использую для создания новых блоков и их установки.
Private Sub AddRow_Click()
SearchCount = SearchCount + 1
UserForm1.Height = UserForm1.Height + 30
UserForm1.ListBox1.Top = UserForm1.ListBox1.Top + 30
UserForm1.TextBox4.Top = UserForm1.TextBox4.Top + 30
UserForm1.TextBox5.Top = UserForm1.TextBox5.Top + 30
UserForm1.TextBox6.Top = UserForm1.TextBox6.Top + 30
UserForm1.ApplyButton.Top = UserForm1.ApplyButton.Top + 30
UserForm1.ResetButton.Top = UserForm1.ResetButton.Top + 30
UserForm1.AddRow.Top = UserForm1.AddRow.Top + 30
UserForm1.RemoveRow.Top = UserForm1.RemoveRow.Top + 30
Set cmbo1 = UserForm1.Controls.Add("Forms.Combobox.1", "ColumnPicker" & SearchCount)
obj1.Add cmbo1, cmbo1.Name
Set cmbo2 = UserForm1.Controls.Add("Forms.Combobox.1", "Operator" & SearchCount)
obj2.Add cmbo2, cmbo2.Name
Set txt3 = UserForm1.Controls.Add("Forms.Textbox.1", "Condition" & SearchCount)
obj3.Add txt3, txt3.Name
Set cmbo4 = UserForm1.Controls.Add("Forms.Combobox.1", "Logic" & SearchCount)
obj4.Add cmbo4, cmbo4.Name
Count = Sheets("Analyzer").ListObjects("Analyzer").ListColumns.Count - 1
ReDim ColumnArr(Count)
With cmbo1
.Top = 50 + (30 * (SearchCount - 1))
.Left = 18
.Height = 24
.Width = 192
For i = 0 To Count
ColumnArr(i) = Sheets("Analyzer").Cells(3, i + 1).Value
Next i
For j = 0 To Count
.AddItem (ColumnArr(j))
Next j
End With
With cmbo2
.Top = 50 + (30 * (SearchCount - 1))
.Left = 216
.Height = 24
.Width = 180
.AddItem ("Starts With")
.AddItem ("Contains")
.AddItem ("= Equals")
.AddItem ("!= Does Not Equal")
.AddItem ("> Greater Than")
.AddItem (">= Greater Than Or Equals")
.AddItem ("< Less Than")
.AddItem ("<= Less Than Or Equals")
.Text = "Contains"
End With
With txt3
.Top = 50 + (30 * (SearchCount - 1))
.Left = 402
.Height = 24
.Width = 420
End With
With cmbo4
.Top = 50 + (30 * (SearchCount - 2))
.Left = 828
.Height = 24
.Width = 60
.AddItem ("And")
.AddItem ("Or")
.Text = "And"
End With
End Sub
Это макет пользовательской формы
Это пользовательская форма после добавления новых блоков
Если нет способа сделать это, мне просто нужно сначала создать поля и изменить их видимость с помощью кода, чтобыкак я могу сначала связать триггеры.