1

我在 vba 表单中的复选框的 onclick 事件中遇到问题。基本上我要做的是将特定选项卡上所有复选框的值修改为与主复选框相同的值。在这种情况下,它是下面的“使用在线”标题复选框(代码中的online_toggle),一旦单击该复选框,应将选项卡上的其他复选框切换为“打开”或“关闭”。我目前有以下代码,但它一直在“For Each obj In online.OLEObjects”处产生错误

我的用户表单

Private Sub online_toggle_Click()

Dim ctl As Control

For Each ctl In Me.MultiPage1.Pages(6).Controls

    If TypeOf ctl Is MSForms.CheckBox Then
        If ctl.GroupName = "online_variants" Then
        If ctl.Name <> "online_toggle" Then
            ctl.Value = online_toggle.Value
        End If
        End If
    End If

Next ctl

End Sub

NB online 是所有复选框所在的选项卡的名称。如果它有助于受主复选框影响的复选框都被分组为 online_variants

干杯,

杰森

4

1 回答 1

1

在 Mutipage 中,页码从 0 开始,因此如果您尝试引用Online选项卡(第 7 个选项卡)中的复选框,请使用此

Dim ctl As Control

For Each ctl In Me.MultiPage1.Pages(6).Controls
    If TypeOf ctl Is MSForms.CheckBox Then
        '~~> Your code here
        Debug.Print ctl.Name
    End If
Next
于 2012-07-03T11:41:16.647 回答