我有一个Form UserForm1有两个命令按钮命令1和命令2.当按下command1时变量var = 1,如果按下命令2,var = 2。 Var是UserForm1中的全局变量。 expDate和textRecDate是UserForm1中的两个文本框
我有一个类模块clsMod,我正在尝试做这样的事情
If UserForm1.var= 1 Then
UserForm1.expDate.Text = SelectedDate
If UserForm1.var= 2 Then
UserForm1.textRecDate.Text = SelectedDate
我想将var的范围扩展到类模块。有没有办法可以做到这一点。
感谢
答案 0 :(得分:1)
您实际上并不想“扩展”范围 - 您希望将范围限制到表单级别,然后使用Public
方法来访问/控制表单。< / p>
例如 - 在UserForm1 ...
Private Var As Integer
Public Function GetVar() As Integer
GetVar = Var
End Function
Public Sub SetTextRecDate(d as Date)
textRecDate.Text = SelectedDate
End Sub
在clsMod ..
If UserForm1.GetVar = 2 Then
UserForm1.SetTextRecDate(SelectedDate)
'The line above may actually want to be...
'UserForm1.SetTextRecDate SelectedDate
'VBA is strange about parenthesised arguments
Endif
等等
哦,如果命名不只是为了演示/示例目的,请不要养成调用按钮Command1
和Command2
以及变量Var
的习惯:D。 ..