#excel #vba #combobox #userform
#excel #vba #поле со списком #пользовательская форма
Вопрос:
Насколько я понимаю, код инициализации запускается при вызове «New UserForm2».
Ниже приведен код, который вызывает новую пользовательскую форму, и код, связанный с пользовательской формой.
Я прошел через отладчик и наблюдал, как он выполняет код инициализации, но это никак не влияет на форму. Поле со списком по-прежнему пустое.
If TabID = "5 Client List" Then
With New UserForm2
.Show
If Not .IsCancelled Then
If InStr(TarSheet, "5.1") Then
Call General_Transfer(TabID, TarSheet, 28, "Yes")
End If
TarSheet = ""
End If
End With
Exit Sub
End If
' UserForm2 Code
Option Explicit
'@Folder("UI")
Private cancelled As Boolean
Public Property Get IsCancelled() As Boolean
IsCancelled = cancelled
End Property
Private Sub CommandButton1_Click()
TarSheet = Me.ComboBox1.Value
Hide
End Sub
Private Sub CommandButton2_Click()
TarSheet = ""
OnCancel
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = VbQueryClose.vbFormControlMenu Then
Cancel = True
OnCancel
End If
End Sub
Private Sub OnCancel()
cancelled = True
Hide
End Sub
Private Sub UserForm_Initialize()
UserForm2.ComboBox1.AddItem "5.1 Client List LTS"
End Sub
Комментарии:
1. Вы пробовали
Me
вместоUserForm2
? Ваш код работает для меня, как указано…2. Это действительно так… Me работает нормально. Спасибо за предложение.