1

vbaフォームのチェックボックスのonclickイベントで問題が発生しています。基本的に私がやろうとしているのは、特定のタブのすべてのチェックボックスの値をマスターチェックボックスと同じ値に修正することです。この場合、下の「オンラインで使用」のキャプション付きチェックボックス(コードではonline_toggle)をクリックすると、タブの「オン」または「オフ」の他のチェックボックスが切り替わります。現在、次のコードがありますが、「For Each objInonline.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 に答える