我有一个带有文本框1的用户表单1,并且表单上的空间有限。我正在尝试创建一个交互式/可编辑的“弹出窗口”,为用户提供更大的空间来在 textbox1 中输入/编辑文本。 我用 textbox2 创建了一个迷你 userform2。我向 userform1 添加了一个小 commandbutton1 以打开 userform2,效果很好。我希望 textbox1 和 textbox2 相互镜像。当在其中一个中添加/删除/编辑文本时,另一个中也会发生同样的情况。 我认为这很容易,但我什至无法从 textbox1 中获取文本以显示在 textbox2 中。这是我尝试过的
Private Sub commandbutton1_Click() 'userform1 module
Dim n As userform2
Set n = New userform2
n.Show 'works
userform2.textbox2.Text = userform1.textbox1.Text 'not working
End Sub
Private Sub Userform_Initialize() 'userform2 module
userform2.textbox2.Text = userform1.textbox1.Text 'not working
End Sub
Private Sub textbox2_Change() 'tried in userform1 and userform2 modules
userform1.textbox1.Text = userform2.textbox2.Text 'not working
End Sub
Private Sub textbox1_Change() 'tried in userform1 and userform2 modules
userform2.textbox2.Text = userform1.textbox1.Text 'not working
End Sub
以下代码适用于两个用户窗体,每个用户窗体都包含一个文本框。用户可以在任一用户表单/文本框中键入文本,该文本将反映在另一个用户表单/文本框中。您可以采用此示例并根据您的需要进行调整。
本工作簿模块:
Option Explicit
Private Sub Workbook_Open()
Call UserForm1.Show
End Sub
用户表单1代码:
Option Explicit
Private Sub CommandButton1_Click()
UserForm2.Show
End Sub
Private Sub TextBox1_Change()
UserForm2!TextBox1.Value = UserForm1!TextBox1.Value
End Sub
用户表单2代码:
Option Explicit
Private Sub TextBox1_Change()
UserForm1!TextBox1.Value = UserForm2!TextBox1.Value
End Sub
Userform1 和 Userform2 需要设置以下属性:
显示模式:假
两个用户表单中的 Textbox1 都需要设置以下属性:
EnterKey 行为:True
多行:正确