Zum Hauptinhalt springen

Wie kann man ein anderes Kontrollkästchen deaktivieren, wenn ein Kontrollkästchen in Excel aktiviert ist?

Author: Siluvia Last Modified: 2025-05-28

Wie im folgenden Video gezeigt, nehmen wir an, dass Sie eine Einkaufsliste haben, die Sie abschließend bearbeiten müssen. Während Sie die Liste überprüfen, stellen Sie fest, dass die markierten Artikel in einigen Kategorien das Budget überschreiten und neu ausgewählt werden müssen. Da die Liste zu lang ist, benötigen Sie nun eine effizientere Methode, um das ursprünglich markierte Kontrollkästchen automatisch zu deaktivieren, wenn ein neues Kontrollkästchen in einer Kategorie aktiviert wird. Dieses Tutorial zeigt Schritt für Schritt die Methode, um Ihnen dabei zu helfen.

Deaktivieren eines anderen Kontrollkästchens, wenn ein neues Kontrollkästchen mit VBA-Code aktiviert wird


Deaktivieren eines anderen Kontrollkästchens, wenn ein neues Kontrollkästchen mit VBA-Code aktiviert wird

Wie in der obigen Demo gezeigt, sind zehn Kontrollkästchen namens Checkbox1, Checkbox2, Checkbox3, ..., Checkbox10 in 3 Gruppen unterteilt und befinden sich in verschiedenen Kategorien der Tabelle.

In diesem Beispiel befinden sich Checkbox1, 2 und 3 in einer Gruppe, Checkbox4, 5, 6 und 7 in einer anderen Gruppe, und Checkbox8, 9 und 10 sind in derselben Gruppe. In jeder Gruppe darf jeweils nur ein Kontrollkästchen aktiviert sein. Wenn ein Kontrollkästchen aktiviert wird, wird ein anderes Kontrollkästchen automatisch deaktiviert.

Schauen wir uns nun an, wie der folgende VBA-Code angewendet wird, um dieses Problem zu lösen.

1. Klicken Sie mit der rechten Maustaste auf die Registerkarte des Arbeitsblatts und klicken Sie im Kontextmenü auf Ansicht Code.

A screenshot showing the option View Code in the context menu of a sheet tab in Excel

2. Fügen Sie im geöffneten Fenster Microsoft Visual Basic for Applications den folgenden VBA-Code in das Fenster Sheet (Code) ein.

A screenshot of the VBA code editor in Excel with example VBA code for managing checkboxes

VBA-Code: Deaktivieren eines anderen Kontrollkästchens, wenn ein neues Kontrollkästchen aktiviert wird

Dim xBol As Boolean
'Updated by Extendoffice 20220816
Private Sub CheckBox1_Change()
SetCheckBoxes "CheckBox1"
End Sub

Private Sub CheckBox2_Change()
SetCheckBoxes "CheckBox2"
End Sub

Private Sub CheckBox3_Change()
SetCheckBoxes "CheckBox3"
End Sub

Private Sub CheckBox4_Change()
SetCheckBoxes "CheckBox4"
End Sub

Private Sub CheckBox5_Change()
SetCheckBoxes "CheckBox5"
End Sub

Private Sub CheckBox6_Click()
SetCheckBoxes "CheckBox6"
End Sub

Private Sub CheckBox7_Click()
SetCheckBoxes "CheckBox7"
End Sub
Private Sub CheckBox8_Click()
SetCheckBoxes "CheckBox8"
End Sub
Private Sub CheckBox9_Click()
SetCheckBoxes "CheckBox9"
End Sub
Private Sub CheckBox10_Click()
SetCheckBoxes "CheckBox10"
End Sub

Private Function SetCheckBoxes(mCheckBoxName As String)
Dim x As Long
Dim xAllArr
Dim xArrItem
Dim xI, xJ
If Not xBol Then Exit Function
'In the following line, the checkboxes enclosed in double quotes belong to the same group, and each checkbox is separated by a comma. To add more checkbox groups, please enclose the checkboxes in new double quotes.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
For xI = LBound(xAllArr) To UBound(xAllArr)
If InStr(xAllArr(xI), mCheckBoxName) > 0 Then
xBol = False
xArrItem = Split(xAllArr(xI), ",")
For xJ = LBound(xArrItem) To UBound(xArrItem)
If xArrItem(xJ) <> mCheckBoxName Then
Me.OLEObjects(xArrItem(xJ)).Object.Value = False
End If
Next
End If
Next
xBol = True
End Function

Private Sub Worksheet_Activate()
xBol = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
xBol = True
End Sub

Hinweise:

1) Im Code sind Checkbox1, Checkbox2, ..., Checkbox10 die Namen der Kontrollkästchen;
2) In der folgenden Zeile gehören die in doppelte Anführungszeichen eingeschlossenen Kontrollkästchen zur selben Gruppe, und jedes Kontrollkästchen wird durch ein Komma getrennt. Um weitere Kontrollkästchengruppen hinzuzufügen, schließen Sie die Kontrollkästchen bitte in neue doppelte Anführungszeichen ein.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) Die Kontrollkästchen sind ActiveX Control-Kontrollkästchen.

3. Drücken Sie die Tasten Alt + Q, um das Fenster Microsoft Visual Basic for Applications zu schließen.

Dann wird, wenn Sie ein neues Kontrollkästchen in einer Gruppe aktivieren, das ursprünglich markierte automatisch deaktiviert, wie in dem unten stehenden GIF gezeigt.


Demo: Deaktivieren eines anderen Kontrollkästchens, wenn ein Kontrollkästchen in Excel aktiviert ist

Kutools für Excel: Über 300 praktische Werkzeuge stehen Ihnen zur Verfügung! Nutzen Sie dauerhaft kostenlose KI-Funktionen! Jetzt herunterladen!

Beste Büroproduktivitätswerkzeuge

🤖 Kutools AI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Benutzerdefinierte Formeln erstellen  |  Daten analysieren und Diagramme generieren  |  Erweiterte Funktionen aufrufen
Beliebte Funktionen: Finden, Hervorheben oder Doppelte markieren   |  Leere Zeilen löschen   |  Spalten oder Zellen kombinieren ohne Datenverlust   |   Runden ...
Erweiterte SVERWEIS: Mehrfachkriterien SVERWEIS    Mehrfachwert SVERWEIS  |   Mehrblatt-SVERWEIS   |   Fuzzy Match ....
Erweiterte Dropdown-Liste: Schnell Dropdown-Liste erstellen   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Eine bestimmte Anzahl von Spalten hinzufügen  |  Spalten verschieben  |  Sichtbarkeitsstatus ausgeblendeter Spalten umschalten  |  Bereiche & Spalten vergleichen ...
Hervorgehobene Funktionen: Gitterfokus   |  Entwurfsansicht   |   Erweiterte Formelleiste    Arbeitsmappe & Arbeitsblatt-Manager   |  AutoText-Bibliothek (Auto Text)   |  Datumsauswahl   |  Daten zusammenführen   |  Zellen verschlüsseln/entschlüsseln    E-Mail senden nach Liste   |  Spezialfilter   |   Spezialfilter (Filtern fett/kursiv/durchgestrichen...) ...
Top15 Werkzeugsets12 Textwerkzeuge (Text hinzufügen, Bestimmte Zeichen löschen, ...)   |   50+ Diagramm typen (Gantt-Diagramm, ...)   |   40+ Praktische Formeln (Alter basierend auf dem Geburtsdatum berechnen, ...)   |   19 Einfügewerkzeuge (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Konvertierungswerkzeuge (In Wörter umwandeln, Währungsumrechnung, ...)   |   7 Konsolidieren & Aufteilen Werkzeuge (Erweiterte Zeilen zusammenführen, Zellen aufteilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis.  Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...


Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher

  • Aktivieren Sie die Bearbeitung und das Lesen mit Registerkarten in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters, anstatt in neuen Fenstern.
  • Steigert Ihre Produktivität um50 % und reduziert täglich hunderte von Mausklicks für Sie!