Есть ли недостатки в потере кода в пользовательскую форму VBA вместо "нормального" модуля?
Это может быть простой вопрос, но я не нашел для него окончательного ответа при поиске в Интернете и stackoverflow.
Фон: Я разрабатываю Front-End приложение базы данных в Excel-VBA. Для выбора разных фильтров у меня разные пользовательские формы. Я прошу, какой общий дизайн программы лучше: (1) включение структуры управления в отдельный модуль ИЛИ (2) размещение кода для следующей пользовательской формы или действия в пользовательской форме,
Давайте сделаем пример. У меня есть кнопка Active-X, которая запускает мои фильтры и мои формы.
Вариант1: Модули
В CommandButton:
Private Sub CommandButton1_Click()
call UserInterfaceControlModule
End Sub
В модуле:
Sub UserInterfaceControllModule()
Dim decisionInput1 As Boolean
Dim decisionInput2 As Boolean
UserForm1.Show
decisionInput1 = UserForm1.decision
If decisionInput1 Then
UserForm2.Show
Else
UserForm3.Show
End If
End Sub
В варианте 1 структура управления находится в нормальном модуле. И решения, которые пользовательформат отображает дальше, отделены от пользовательской формы. Любая информация, необходимая для принятия решения о том, какую пользовательскую форму для показа дальше следует вытащить из пользовательской формы.
Вариант2: Пользовательская форма
В CommadButton:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
В Userform1:
Private Sub ToUserform2_Click()
UserForm2.Show
UserForm1.Hide
End Sub
Private Sub UserForm_Click()
UserForm2.Show
UserForm1.Hide
End Sub
В варианте 2 структура управления находится непосредственно в пользовательских формах, и пользовательская форма имеет инструкции, которые следуют за ней.
Я начал разработку с использованием метода 2. Если это была ошибка, и есть некоторые серьезные недостатки этого метода, я хочу знать это скорее раньше, чем позже.