我需要一個帶有複選框的用戶窗體來運行一些例程。這個用戶表單需要複選框才能根據頁數進行擴展。因此,對於一張紙,必須只有一個帶有兩個複選框的複選框,兩個複選框等。紙張的數量是多種多樣的,並且基於用戶通過功能區按鈕進行輸入。 有些人可以幫助我走上這條路。 下面的代碼我已經有了。我認爲它必須是一個更好的方法來做到這一點。添加工作表時自動展開userform複選框
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
歡迎來到SO!你試過什麼了? SO不是代碼寫入服務。 – DragonSamu
嗨DragonSamu。我知道,SO不適用於代碼編寫服務。但我已經閱讀了很多代碼來嘗試,但直到現在還沒有一個是有用的。我不是VBA的用戶,並且有一個正在運行的項目需要改進。所以這對我來說不是常識:) –
我明白了,但你仍然需要展示你的努力。目前你的問題代表的是要求代碼,但沒有顯示任何努力或研究完成。 SO是一個適合每個人的網站,一旦你的問題得到解答,其他人可以從中學習。目前沒有人會從純粹的代碼請求中學習。編輯問題並提供您的研究和您嘗試的內容,然後您會看到人們會更願意提供幫助。 – DragonSamu