Private Sub CommandButton1_Click()
Dim tb As Object
For Each tb In UserForm1.Controls
If TypeName(tb) = "CheckBox" Then tb = False
Next tb
End Sub
Kann jemand helfen. Lieben Dank Micha
Private Sub CommandButton1_Click()
Dim tb As Object
For Each tb In UserForm1.Controls
If TypeName(tb) = "CheckBox" Then tb = False
Next tb
End Sub
Private Sub CommandButton7_Click()
With Worksheets("MSG-Boxes")
.CheckBox1.Value = False
.CheckBox2.Value = False
.CheckBox3.Value = False
.CheckBox4.Value = False
End With
End Sub
Öffne Excel und erstelle ein neues Tabellenblatt.
Füge Checkboxen hinzu: Gehe zu Entwicklertools > Einfügen > Formularsteuerelemente
und wähle die Checkbox aus. Platziere die gewünschten Checkboxen im Blatt.
Füge einen Button hinzu: Gehe wieder zu Entwicklertools > Einfügen
und wähle einen Button aus. Platziere den Button im Blatt.
Öffne den VBA-Editor: Drücke ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
Füge folgenden Code in das Button-Klick-Ereignis ein:
Private Sub CommandButton1_Click()
With Worksheets("DeinTabellenblattName")
.CheckBox1.Value = False
.CheckBox2.Value = False
' Füge für alle Checkboxen die entsprechenden Zeilen hinzu
End With
End Sub
Ersetze "DeinTabellenblattName"
mit dem tatsächlichen Namen deines Tabellenblattes.
Schließe den VBA-Editor und teste den Button. Klicke auf den Button, um alle Checkboxen zu deaktivieren.
Fehler: Laufzeitfehler beim Ausführen des Codes.
Fehler: Checkboxen lassen sich nicht deaktivieren.
CheckBox1
, CheckBox2
, usw.).Wenn du eine große Anzahl an Checkboxen hast und das manuelle Deaktivieren zu aufwendig ist, kannst du den folgenden VBA-Code verwenden, um alle Checkboxen in einer Schleife zu deaktivieren:
Private Sub CommandButton1_Click()
Dim cb As Object
For Each cb In Worksheets("DeinTabellenblattName").OLEObjects
If TypeName(cb.Object) = "CheckBox" Then
cb.Object.Value = False
End If
Next cb
End Sub
Dieser Code durchläuft alle OLE-Objekte im angegebenen Tabellenblatt und deaktiviert jede Checkbox, die gefunden wird.
Angenommen, du hast 500 Checkboxen in deinem Tabellenblatt. Statt für jede Checkbox eine Zeile im Code zu schreiben, kannst du die oben genannte Schleife verwenden, um alle Checkboxen auf einmal zu deaktivieren. Dies ist besonders nützlich, wenn du eine große Anzahl an Checkboxen hast und die Funktionalität des "disable dynamic tick" benötigst.
CheckBox_A
, CheckBox_B
), wird die Wartung und das Management der Checkboxen einfacher.1. Wo finde ich die MSG-Box?
Die MSG-Box ist in diesem Kontext nicht relevant. Stattdessen solltest du sicherstellen, dass du den richtigen Namen deines Tabellenblattes im Code ersetzt.
2. Was mache ich, wenn ich keine Namen für meine Checkboxen vergeben habe?
Wenn du keine spezifischen Namen vergeben hast, kannst du die Checkboxen wie im Beispiel oben mit OLEObjects
durchlaufen, um sie alle auf einmal zu deaktivieren.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen