checkboxselect不同的月份

在一个用户表单中,我编写了一个checkbox来select多个其他checkbox(月)。 这是为了使用户能够select所有的12个月,而不是点击每一个。 以下是我写的代码。 我现在做错了什么?

Private Sub Selectbox_AfterUpdate() Dim x As Integer If Me.Selectbox.Value = True Then For x = 0 To 12 Me.Controls("Month" & x).Value = True Next x Me.Selectbox.Caption = "Deselect All" ElseIf Me.Selectbox.Value = False Then For x = 0 To 12 Me.Controls("Month" & x).Value = False Next x Me.Selectbox.Caption = "Select All" End If End Sub 

有12个月。 更改

 For x = 0 To 12 

 For x = 1 To 12 

这取决于你使用的名字。

不要检查True或False,检查vbChecked或vbUnchecked。 你的循环中也有太多迭代。 你的代码看起来像这样:

 Private Sub Selectbox_AfterUpdate() Dim x As Integer If Me.Selectbox.Value = vbChecked Then For x = 1 To 12 Me.Controls("Month" & x).Value = vbChecked Next x Me.Selectbox.Caption = "Deselect All" ElseIf Me.Selectbox.Value = vbUnchecked Then For x = 1 To 12 Me.Controls("Month" & x).Value = vbUnchecked Next x Me.Selectbox.Caption = "Select All" End If End Sub