将代码放入VBA用户表单而不是“常规”模块中是否有缺点?
这可能是一个简单的问题,但是在搜索网络和stackoverflow时,我还没有找到最终的答案。
背景:我正在用Excel-VBA开发数据库的前端应用程序。要选择不同的过滤器,我有不同的用户形式。我问哪种通用程序设计更好:(1)将控制结构放入单独的模块中,或者(2)将下一个用户表单或操作中的代码放入userform中。
让我们举个例子。我有一个Active-X按钮,可触发我的过滤器和表单。
Variant1:模块
在命令按钮中:
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进行开发。如果这是一个错误,并且此方法有一些严重的缺点,我希望尽快了解它。
天涯尽头无女友