如果在用户窗体 1 中选中复选框,则引用对象在用户窗体 2 中可见

Referncing objects to be visible in Userform 2 if checkbox is checked in Userform 1

当复选框在另一个用户窗体中被选中时,我在尝试使对象在一个用户窗体中可见时遇到了问题。 (例如,当在用户表单 1 中选中复选框时,让标签显示在用户表单 2 中)

有办法解决这个问题吗?

刚才我做个测试
创建两个用户表单:uf1 和 uf2。
我在每个用户表单 属性.
上将“Show Modal”设置为 false 在 uf1 中,我放了两个复选框:cb1 和 cb2。
在 uf2 我放了一个标签:Label1

然后我打开两个用户表单。
勾选uf1中的cb1,标签1显示在uf2
取消勾选cb1,Label1隐藏在uf2中

如果你是这个意思,代码是这样的:

潜入 uf1

Private Sub cb1_Click()
If cb1 = True Then uf2.Label1.Visible = True Else uf2.Label1.Visible = False
End Sub

uf2 中的子

Private Sub UserForm_Initialize()
Label1.Visible = False
End Sub

请注意 uf1 中的代码不进行错误检查,例如:如果 uf2 不存在(未显示)则......

另一个用户窗体中的对象

  • 在两种用户表单中,手动将 ShowModal 属性 设置为 False

UserForm1

Option Explicit
Private Sub CheckBox1_Click()
    ShowLabel
End Sub
Private Sub UserForm_Initialize()
    If UserForm2.Visible Then CheckCheckBox
End Sub

UserForm2

Option Explicit
Private Sub UserForm_Initialize()
    ShowLabel
End Sub

Module1

Option Explicit
Sub CheckCheckBox()
    UserForm1.CheckBox1 = UserForm2.Label1.Visible
End Sub
Sub ShowLabel()
    UserForm2.Label1.Visible = UserForm1.CheckBox1
End Sub