Позвольте мне настроить среду.Не удается закрыть пользовательскую форму
Это код VBA, работающий в Excel.
У меня есть пользовательская форма, содержащая msflexgrid. Этот flexgrid показывает список клиентов и клиентов, продавцов, csr, mfg rep и территорий, присвоений. Когда вы нажимаете в столбце, скажем, в столбце Territory, открывается другая пользовательская форма, чтобы отобразить список территорий. Затем вы выбираете территорию по вашему выбору, пользовательская форма исчезает, а новая территория занимает место старой территории.
Все это прекрасно работает, пока вы не нажмете на выбранную вами территорию, пользовательская форма «Территория» не исчезнет (она мерцает), а новая территория не передает базовую пользовательскую форму.
Следует отметить, что когда я перехожу через код, он отлично работает.
Я предполагаю, что это что-то делает с flexgrid, поскольку все остальные пользовательские формы (которые не имеют flexgrids), которые открывают пользовательскую работу, просто прекрасны.
Ниже приводится образец некоторого кода:
** Нажмите событие из FlexGrid, который показывает Territory UserForm и назначение новой территории, когда территория UserForm закрыт.
Private Sub FlexGrid_Customers_Click()
With FlexGrid_Customers
Select Case .Col
Case 0
Case 2
Case 4
Case 6
UserForm_Territories.Show
Case Else
End Select
If Len(Trim(Misc1)) > 0 Then
.TextMatrix(.Row, .Col) = Trim(Misc1)
.TextMatrix(.Row, .Col + 1) = Trim(Misc2)
End If
End With
End Sub
** Следующие подводные лодки используются на территории UserForm
Private Sub UserForm_Activate()
Misc1 = ""
Misc2 = ""
ListBox_Territory.Clear
Module_Get.Territories
End Sub
Private Sub UserForm_Terminate()
Set UserForm_Territories = Nothing
End Sub
Private Sub ListBox_Territory_Click()
With ListBox_Territory
Misc1 = Trim(.List(.ListIndex, 0))
Misc2 = Trim(.List(.ListIndex, 1))
End With
Hide
UserForm_Terminate
End Sub
Я знаю, это длинный наматывается объяснение, но я довольно приличный программист VBA, и это меня в тупик.
Любая помощь была бы принята с благодарностью.