我想在Excel中使用两个用户表单。 第一个用户表单有两个按钮。 第一个按钮“Go”可以将数字1指定给a,然后转到第二个用户表单。
Public a as Integer
Private Sub Go_Click()
UserForm2.Show
a = 1
End Sub
另一个按钮'Show'可以显示a和b的值。
Private Sub Show_Click()
Load UserForm2
Debug.Print a, b
End Sub
在第二个用户窗体中,它可以将2分配给b(并关闭userform2的窗口)。
Public b as Integer
Private Sub Back_Click()
Load UserForm1
b = 2
UserForm2.Hide
End Sub
我想在第一个用户窗体中单击“显示”时,它可以显示a和b(1和2)。我怎么能纠正我的代码?
答案 0 :(得分:1)
在Userform1
中使用此代码:
Public a As Integer
Public frm As UserForm2
'Userform1 code.
Private Sub Go_Click()
Set frm = New UserForm2
a = 1
End Sub
Private Sub Show_Click()
Debug.Print a, frm.b
Set frm = Nothing
End Sub
这是userform2
:
Public b As Integer
'UserForm2 code
Private Sub UserForm_Initialize()
b = 2
End Sub
' Go_Click'在Userform1
中创建了Userform2
的新类实例,该实例将触发Userform_Initialise
中的Userform2
事件,并将值设置为变量b
。然后,您可以在frm
中的Userform1
变量中引用它。
您可以在Userform2中输入文字并隐藏表格:
Userform1代码:
Public a As Integer
Public frm As UserForm2
'Userform1 code.
Private Sub Go_Click()
Set frm = New UserForm2
a = 1
frm.Show
End Sub
Private Sub Show_Click()
Debug.Print a, frm.b, frm.TextBox1
Set frm = Nothing
End Sub
UserForm2代码:
Public b As Integer
Private Sub btnClose_Click()
Me.Hide
End Sub
'UserForm2 code
Private Sub UserForm_Initialize()
b = 2
End Sub