2016-08-09 94 views
-1

Ich brauche ein Benutzerformular mit einem Kontrollkästchen, um einige Routine auszuführen. Dieses Benutzerformular benötigt Kontrollkästchen, die basierend auf der Anzahl der Blätter erweitert werden. Bei einem Blatt muss also nur ein Kontrollkästchen mit zwei, zwei Kontrollkästchen usw. vorhanden sein. Die Anzahl der Blätter ist unterschiedlich und basiert auf Benutzereingaben durch eine Menübandtaste. Können mir einige ein bisschen auf die Straße helfen, um das in Gang zu bringen. Unter dem Code habe ich schon. Ich denke, dass es eine viel schönere Art sein muss, dies zu tun.Automatische Erweiterung Benutzerformular Kontrollkästchen, wenn Blatt hinzugefügt wird

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

Willkommen zu SO! Was hast du bisher versucht? SO ist kein Code-Schreibdienst. – DragonSamu

+0

Hallo DragonSamu. Ich bin mir bewusst, dass SO nicht für Code-Schreiben-Service ist. Aber ich habe eine Menge Codes gelesen, aber bis jetzt war keiner nützlich. Ich bin kein häufiger Benutzer von VBA und habe ein laufendes Projekt zur Verbesserung. So ist es nicht sinnvoll für mich :) –

+0

Ich verstehe, aber Sie müssen immer noch Ihre Bemühungen zeigen. Derzeit steht Ihre Frage so, als würde nach Code gefragt, aber keine Mühe oder Forschung gezeigt. SO ist eine Seite, die für jeden bestimmt ist, sobald Ihre Frage beantwortet wird, andere Leute könnten daraus lernen. Derzeit wird niemand davon als reine Codeanforderung erfahren. Bearbeiten Sie die Frage und geben Sie Ihre Forschung und was Sie versucht haben, dann werden Sie sehen, dass Menschen mehr als bereit sind zu helfen. – DragonSamu

Antwort

0

Zuerst habe ich eine sehr einfache Benutzerform mit 5 Checkboxen gemacht.

verstecken ich dann jedes Kontrollkästchen im Fenster Eigenschaften:

Visible.False

Dann habe ich diesen Code in dem Codeabschnitt von der Userform:

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 

Experimentieren mit verschiedener Menge von Blättern. ..

Hoffe es hilft! :)

+0

Danke StanB. Ich werde es versuchen. Das Problem ist jedoch, dass das Blatt zufällig verwendet wird. Im Moment hat ein Projekt 28 Artikel (Blätter). Gibt es eine Möglichkeit, die Anzahl der Checkboxen dynamisch zu erweitern? Dies wird den Code so sauber wie möglich halten. –

+0

@JanWieland, würden Sie '.add' Methode verwenden, siehe [diese Seite] (http://www.ozgrid.com/Excel/free-training/ExcelVBA2/excelvba2lesson21.htm) – StanB

+0

@jan fühlen Sie sich frei, es als zu markieren 'beantwortet';) – StanB