如何在 Excel 中的用户表单之间传输值
How to transfer values between Userforms in Excel
我想在 Excel 中使用两个用户表单。
第一个用户窗体有两个按钮。
第一个按钮 'Go' 可以给 a 数字 1,然后转到第二个用户表单。
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(并关闭用户窗体2的window)。
Public b as Integer
Private Sub Back_Click()
Load UserForm1
b = 2
UserForm2.Hide
End Sub
我希望当我在第一个用户表单中单击 'Show' 时,它可以同时显示 a 和 b(1 和 2)。请问我该如何更正我的代码?
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
Userform1
中的 'Go_Click' 创建了 Userform2
的新 class 实例,它将触发 Userform2
中的 Userform_Initialise
事件并设置变量 b
的值。然后,您可以从 Userform1
.
中的 frm
变量引用它
您可以在 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
我想在 Excel 中使用两个用户表单。 第一个用户窗体有两个按钮。 第一个按钮 'Go' 可以给 a 数字 1,然后转到第二个用户表单。
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(并关闭用户窗体2的window)。
Public b as Integer
Private Sub Back_Click()
Load UserForm1
b = 2
UserForm2.Hide
End Sub
我希望当我在第一个用户表单中单击 'Show' 时,它可以同时显示 a 和 b(1 和 2)。请问我该如何更正我的代码?
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
Userform1
中的 'Go_Click' 创建了 Userform2
的新 class 实例,它将触发 Userform2
中的 Userform_Initialise
事件并设置变量 b
的值。然后,您可以从 Userform1
.
frm
变量引用它
您可以在 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