2016-08-09 70 views
-1

我需要一個帶有複選框的用戶窗體來運行一些例程。這個用戶表單需要複選框才能根據頁數進行擴展。因此,對於一張紙,必須只有一個帶有兩個複選框的複選框,兩個複選框等。紙張的數量是多種多樣的,並且基於用戶通過功能區按鈕進行輸入。 有些人可以幫助我走上這條路。 下面的代碼我已經有了。我認爲它必須是一個更好的方法來做到這一點。添加工作表時自動展開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 
+0

歡迎來到SO!你試過什麼了? SO不是代碼寫入服務。 – DragonSamu

+0

嗨DragonSamu。我知道,SO不適用於代碼編寫服務。但我已經閱讀了很多代碼來嘗試,但直到現在還沒有一個是有用的。我不是VBA的用戶,並且有一個正在運行的項目需要改進。所以這對我來說不是常識:) –

+0

我明白了,但你仍然需要展示你的努力。目前你的問題代表的是要求代碼,但沒有顯示任何努力或研究完成。 SO是一個適合每個人的網站,一旦你的問題得到解答,其他人可以從中學習。目前沒有人會從純粹的代碼請求中學習。編輯問題並提供您的研究和您嘗試的內容,然後您會看到人們會更願意提供幫助。 – DragonSamu

回答

0

首先我做了一個非常簡單的用戶表單,帶有5個複選框。

我然後藏每個複選框在屬性窗口:

Visible.False

然後我把這個代碼在用戶窗體的代碼部分:

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 

試驗不同的量片。 ..

希望它有幫助! :)

+0

謝謝StanB。我會試試這個。然而,問題在於紙張被隨機使用。目前一個項目有28個項目(單)。那麼是否有辦法動態地擴大複選框的數量?這將保持代碼儘可能乾淨。 –

+0

@JanWieland,你可以使用'.add'方法,看[這個頁面](http://www.ozgrid.com/Excel/free-training/ExcelVBA2/excelvba2lesson21.htm) – StanB

+0

@jan可以隨意標記爲'回答';) – StanB