Zum Hauptinhalt springen

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

Author: Siluvia Last Modified: 2025-08-06

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!

Die besten Office-Produktivitätstools

🤖 Kutools AI Aide: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung |  Code generieren  |  Benutzerdefinierte Formeln erstellen |  Daten analysieren und Diagramme generieren  |  Erweiterte Funktionen aufrufen
Beliebte Funktionen: Doppelte suchen, hervorheben oder markieren | Leere Zeilen löschen | Spalten oder Zellen ohne Datenverlust zusammenführen | Runden
Erweiterte SVERWEIS: SVERWEIS mit mehreren Kriterien | SVERWEIS für mehrere Werte | Mehrblatt-SVERWEIS | Fuzzy Match
Erweiterte Dropdown-Liste: Dropdown-Liste schnell erstellen | Abhängige Dropdown-Liste | Mehrfachauswahl-Dropdown-Liste
Spalten-Manager: Eine bestimmte Anzahl an Spalten hinzufügen | Spalten verschieben | Sichtbarkeit von ausgeblendeten Spalten umschalten | Bereiche & Spalten vergleichen
Hervorgehobene Funktionen: Gitterfokus | Entwurfsansicht | Erweiterte Formelleiste | Arbeitsmappen- & Blattmanager | AutoText-Bibliothek | Datumsauswahl | Daten zusammenführen | Zellen verschlüsseln/entschlüsseln | E-Mail senden nach Liste | Super Filter | Spezialfilter (Filtern nach Fett/Kursiv/Durchgestrichen...)…
Top15 Toolsets:12 Text-Tools (Text hinzufügen, Bestimmte Zeichen löschen, ...) | 50+ Diagramm typen (Gantt-Diagramm, ...) | 40+ praktische Formeln (Alter basierend auf dem Geburtsdatum berechnen, ...) | 19 Einfüge-Tools (QR-Code einfügen, Bild aus Pfad einfügen, ...) | 12 Konvertierungs-Tools (In Wörter umwandeln, Währungsumrechnung, ...) | 7 Konsolidieren & Aufteilen-Tools (Erweiterte Zeilen zusammenführen, Zellen aufteilen, ...) | ... und mehr
Nutzen Sie Kutools in Ihrer bevorzugten Sprache – unterstützt Englisch, Spanisch, Deutsch, Französisch, Chinesisch und über40 weitere Sprachen!

Steigern Sie Ihre Excel-Kompetenz mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen, um Ihre Produktivität zu steigern und Zeit zu sparen.Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...


Office Tab bringt die Reiter-Oberfläche in Office und macht Ihre Arbeit so viel einfacher

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