添加 sheet 时自动展开用户表单复选框
Automatic expand userform checkbox when sheet is added
我需要一个带有复选框的用户表单来 运行 一些例程。此用户表单需要根据 sheet 的数量展开复选框。因此,对于一个 sheet,必须只有一个复选框和两个、两个复选框等。sheet 的数量是多种多样的,并且基于功能区按钮的用户输入。
在实现这一目标的道路上,有人能帮我一点忙吗?
在我已经拥有的代码下方。我想一定有更好的方法来做到这一点。
Private Sub All_Sheets_Click()
Dim x As Integer
Dim i As Integer
x = 1
For i = 1 To 30
With Userform1
.Controls("SheetCheckBox" & x).value = True
End With
x = x + 1
Next i
End Sub
Private Sub Undo_Click()
Dim x As Integer
Dim i As Integer
x = 1
For i = 1 To 30
With Userform1
.Controls("SheetCheckBox" & x).value = False
End With
x = x + 1
Next i
End Sub
Private Sub UserForm_Initialize()
Dim numsht As Long
numsht = ThisWorkbook.Worksheets.Count
If numsht = 1 Then
SheetCheckBox1.Visible = True
ElseIf numsht = 2 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
ElseIf numsht = 3 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
ElseIf numsht = 4 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
ElseIf numsht = 5 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
ElseIf numsht = 6 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
ElseIf numsht = 7 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
ElseIf numsht = 8 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
ElseIf numsht = 9 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
ElseIf numsht = 10 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
ElseIf numsht = 11 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
ElseIf numsht = 12 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
ElseIf numsht = 13 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
ElseIf numsht = 14 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
ElseIf numsht = 15 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
ElseIf numsht = 16 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
ElseIf numsht = 17 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
ElseIf numsht = 18 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
ElseIf numsht = 19 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
ElseIf numsht = 20 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
ElseIf numsht = 21 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
ElseIf numsht = 22 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
ElseIf numsht = 23 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
ElseIf numsht = 24 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
SheetCheckBox24.Visible = True
ElseIf numsht = 25 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
SheetCheckBox24.Visible = True
SheetCheckBox25.Visible = True
ElseIf numsht = 26 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
SheetCheckBox24.Visible = True
SheetCheckBox25.Visible = True
SheetCheckBox26.Visible = True
ElseIf numsht = 27 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
SheetCheckBox24.Visible = True
SheetCheckBox25.Visible = True
SheetCheckBox26.Visible = True
SheetCheckBox27.Visible = True
ElseIf numsht = 28 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
SheetCheckBox24.Visible = True
SheetCheckBox25.Visible = True
SheetCheckBox26.Visible = True
SheetCheckBox27.Visible = True
SheetCheckBox28.Visible = True
ElseIf numsht = 29 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
SheetCheckBox24.Visible = True
SheetCheckBox25.Visible = True
SheetCheckBox26.Visible = True
SheetCheckBox27.Visible = True
SheetCheckBox28.Visible = True
SheetCheckBox29.Visible = True
ElseIf numsht = 30 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
SheetCheckBox24.Visible = True
SheetCheckBox25.Visible = True
SheetCheckBox26.Visible = True
SheetCheckBox27.Visible = True
SheetCheckBox28.Visible = True
SheetCheckBox29.Visible = True
SheetCheckBox30.Visible = True
Else:
MsgBox "Need more checkboxes!" & vbNewLine & "Contact Jan Wieland for more details", vbCritical
End If
'Uncheck DataCheckBoxes
SheetCheckBox1.value = False
SheetCheckBox2.value = False
SheetCheckBox3.value = False
SheetCheckBox4.value = False
SheetCheckBox5.value = False
SheetCheckBox6.value = False
SheetCheckBox7.value = False
SheetCheckBox8.value = False
SheetCheckBox9.value = False
SheetCheckBox10.value = False
SheetCheckBox11.value = False
SheetCheckBox12.value = False
SheetCheckBox13.value = False
SheetCheckBox14.value = False
SheetCheckBox15.value = False
SheetCheckBox16.value = False
SheetCheckBox17.value = False
SheetCheckBox18.value = False
SheetCheckBox19.value = False
SheetCheckBox20.value = False
SheetCheckBox21.value = False
SheetCheckBox22.value = False
SheetCheckBox23.value = False
SheetCheckBox24.value = False
SheetCheckBox25.value = False
SheetCheckBox26.value = False
SheetCheckBox27.value = False
SheetCheckBox28.value = False
SheetCheckBox29.value = False
SheetCheckBox30.value = False
End Sub
首先,我制作了一个非常简单的用户表单,其中包含 5 个复选框。
然后我隐藏了属性中的每个复选框window:
然后我把这段代码放在用户窗体的代码部分:
Private Sub UserForm_Initialize()
Dim numsht As Long
numsht = ThisWorkbook.Worksheets.Count
If numsht = 1 Then
CheckBox1.Visible = True
ElseIf numsht = 2 Then
CheckBox1.Visible = True
CheckBox2.Visible = True
ElseIf numsht = 3 Then
CheckBox1.Visible = True
CheckBox2.Visible = True
CheckBox3.Visible = True
ElseIf numsht = 4 Then
CheckBox1.Visible = True
CheckBox2.Visible = True
CheckBox3.Visible = True
CheckBox4.Visible = True
ElseIf numsht = 5 Then
CheckBox1.Visible = True
CheckBox2.Visible = True
CheckBox3.Visible = True
CheckBox4.Visible = True
CheckBox5.Visible = True
Else:
MsgBox "Need more checkboxes!" & vbNewLine & "Contact Jan Wieland for more details", vbCritical
End If
End Sub
用不同数量的纸张进行实验...
希望对您有所帮助! :)
我需要一个带有复选框的用户表单来 运行 一些例程。此用户表单需要根据 sheet 的数量展开复选框。因此,对于一个 sheet,必须只有一个复选框和两个、两个复选框等。sheet 的数量是多种多样的,并且基于功能区按钮的用户输入。 在实现这一目标的道路上,有人能帮我一点忙吗? 在我已经拥有的代码下方。我想一定有更好的方法来做到这一点。
Private Sub All_Sheets_Click()
Dim x As Integer
Dim i As Integer
x = 1
For i = 1 To 30
With Userform1
.Controls("SheetCheckBox" & x).value = True
End With
x = x + 1
Next i
End Sub
Private Sub Undo_Click()
Dim x As Integer
Dim i As Integer
x = 1
For i = 1 To 30
With Userform1
.Controls("SheetCheckBox" & x).value = False
End With
x = x + 1
Next i
End Sub
Private Sub UserForm_Initialize()
Dim numsht As Long
numsht = ThisWorkbook.Worksheets.Count
If numsht = 1 Then
SheetCheckBox1.Visible = True
ElseIf numsht = 2 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
ElseIf numsht = 3 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
ElseIf numsht = 4 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
ElseIf numsht = 5 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
ElseIf numsht = 6 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
ElseIf numsht = 7 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
ElseIf numsht = 8 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
ElseIf numsht = 9 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
ElseIf numsht = 10 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
ElseIf numsht = 11 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
ElseIf numsht = 12 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
ElseIf numsht = 13 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
ElseIf numsht = 14 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
ElseIf numsht = 15 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
ElseIf numsht = 16 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
ElseIf numsht = 17 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
ElseIf numsht = 18 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
ElseIf numsht = 19 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
ElseIf numsht = 20 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
ElseIf numsht = 21 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
ElseIf numsht = 22 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
ElseIf numsht = 23 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
ElseIf numsht = 24 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
SheetCheckBox24.Visible = True
ElseIf numsht = 25 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
SheetCheckBox24.Visible = True
SheetCheckBox25.Visible = True
ElseIf numsht = 26 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
SheetCheckBox24.Visible = True
SheetCheckBox25.Visible = True
SheetCheckBox26.Visible = True
ElseIf numsht = 27 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
SheetCheckBox24.Visible = True
SheetCheckBox25.Visible = True
SheetCheckBox26.Visible = True
SheetCheckBox27.Visible = True
ElseIf numsht = 28 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
SheetCheckBox24.Visible = True
SheetCheckBox25.Visible = True
SheetCheckBox26.Visible = True
SheetCheckBox27.Visible = True
SheetCheckBox28.Visible = True
ElseIf numsht = 29 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
SheetCheckBox24.Visible = True
SheetCheckBox25.Visible = True
SheetCheckBox26.Visible = True
SheetCheckBox27.Visible = True
SheetCheckBox28.Visible = True
SheetCheckBox29.Visible = True
ElseIf numsht = 30 Then
SheetCheckBox1.Visible = True
SheetCheckBox2.Visible = True
SheetCheckBox3.Visible = True
SheetCheckBox4.Visible = True
SheetCheckBox5.Visible = True
SheetCheckBox6.Visible = True
SheetCheckBox7.Visible = True
SheetCheckBox8.Visible = True
SheetCheckBox9.Visible = True
SheetCheckBox10.Visible = True
SheetCheckBox11.Visible = True
SheetCheckBox12.Visible = True
SheetCheckBox13.Visible = True
SheetCheckBox14.Visible = True
SheetCheckBox15.Visible = True
SheetCheckBox16.Visible = True
SheetCheckBox17.Visible = True
SheetCheckBox18.Visible = True
SheetCheckBox19.Visible = True
SheetCheckBox20.Visible = True
SheetCheckBox21.Visible = True
SheetCheckBox22.Visible = True
SheetCheckBox23.Visible = True
SheetCheckBox24.Visible = True
SheetCheckBox25.Visible = True
SheetCheckBox26.Visible = True
SheetCheckBox27.Visible = True
SheetCheckBox28.Visible = True
SheetCheckBox29.Visible = True
SheetCheckBox30.Visible = True
Else:
MsgBox "Need more checkboxes!" & vbNewLine & "Contact Jan Wieland for more details", vbCritical
End If
'Uncheck DataCheckBoxes
SheetCheckBox1.value = False
SheetCheckBox2.value = False
SheetCheckBox3.value = False
SheetCheckBox4.value = False
SheetCheckBox5.value = False
SheetCheckBox6.value = False
SheetCheckBox7.value = False
SheetCheckBox8.value = False
SheetCheckBox9.value = False
SheetCheckBox10.value = False
SheetCheckBox11.value = False
SheetCheckBox12.value = False
SheetCheckBox13.value = False
SheetCheckBox14.value = False
SheetCheckBox15.value = False
SheetCheckBox16.value = False
SheetCheckBox17.value = False
SheetCheckBox18.value = False
SheetCheckBox19.value = False
SheetCheckBox20.value = False
SheetCheckBox21.value = False
SheetCheckBox22.value = False
SheetCheckBox23.value = False
SheetCheckBox24.value = False
SheetCheckBox25.value = False
SheetCheckBox26.value = False
SheetCheckBox27.value = False
SheetCheckBox28.value = False
SheetCheckBox29.value = False
SheetCheckBox30.value = False
End Sub
首先,我制作了一个非常简单的用户表单,其中包含 5 个复选框。
然后我隐藏了属性中的每个复选框window:
然后我把这段代码放在用户窗体的代码部分:
Private Sub UserForm_Initialize()
Dim numsht As Long
numsht = ThisWorkbook.Worksheets.Count
If numsht = 1 Then
CheckBox1.Visible = True
ElseIf numsht = 2 Then
CheckBox1.Visible = True
CheckBox2.Visible = True
ElseIf numsht = 3 Then
CheckBox1.Visible = True
CheckBox2.Visible = True
CheckBox3.Visible = True
ElseIf numsht = 4 Then
CheckBox1.Visible = True
CheckBox2.Visible = True
CheckBox3.Visible = True
CheckBox4.Visible = True
ElseIf numsht = 5 Then
CheckBox1.Visible = True
CheckBox2.Visible = True
CheckBox3.Visible = True
CheckBox4.Visible = True
CheckBox5.Visible = True
Else:
MsgBox "Need more checkboxes!" & vbNewLine & "Contact Jan Wieland for more details", vbCritical
End If
End Sub
用不同数量的纸张进行实验...
希望对您有所帮助! :)