KutoolsforOffice — Eine Lösung, fünf leistungsstarke Tools.Mehr erreichen mit weniger Aufwand.März-Aktion: 20 % Rabatt

Wie kann man in Excel sicherstellen, dass in einer Gruppe nur ein Kontrollkästchen gleichzeitig ausgewählt werden kann?

AutorSiluvia Änderungsdatum

In einigen Excel-Anwendungen müssen Benutzer möglicherweise nur eine Option aus einer Gruppe von Kontrollkästchen auswählen – analog zum Verhalten von Optionsfeld. Wie im folgenden Screenshot gezeigt, werden beim Aktivieren eines Kontrollkästchens in Zeile 2 alle anderen Kontrollkästchen der Gruppe sofort deaktiviert, sodass stets nur eine Auswahl möglich ist. Diese Einschränkung ist nützlich bei Umfrageformularen, Einzelauswahl-Listen oder Dashboards, bei denen Mehrfachantworten vermieden werden sollen. Um diese Funktionalität direkt in Excel zu realisieren, sind spezielle Techniken erforderlich, beispielsweise die Verwendung von VBA-Code. Dieser Artikel bietet praktische Lösungen, um mit Kontrollkästchen in Excel einen „Einzel-Auswahl“-Effekt zu erzielen, einschließlich schrittweiser Anleitungen und wichtiger Hinweise für den praktischen Einsatz.

Ein Screenshot einer Gruppe von Kontrollkästchen in Excel, bei der jeweils nur eines ausgewählt werden kann


Nur ein Kontrollkästchen mit VBA-Code auswählbar machen

Sie können den folgenden VBA-Ansatz nutzen, um sicherzustellen, dass stets nur ein Kontrollkästchen pro Gruppe ausgewählt werden kann – eine ideale Lösung für komplexe Vorlagen oder Szenarien, in denen eine nahtlose, automatische Benutzererfahrung sowie eine präzise Aktivierungs- und Deaktivierungslogik entscheidend sind.

1. Fügen Sie zunächst die Kontrollkästchen dort ein, wo eine Einzelauswahl erzwungen werden soll. Für diese Lösung müssen Sie ActiveX-Steuerelement-Kontrollkästchen verwenden, da Formularsteuerelement-Kontrollkästchen den Mechanismus zum Aktivieren/Deaktivieren nicht direkt unterstützen. Um ActiveX-Kontrollkästchen einzufügen, wechseln Sie zur Entwickler-Registerkarte > Einfügen > ActiveX-Steuerelemente > Kontrollkästchen. Ordnen Sie alle Kontrollkästchen innerhalb Ihrer gewünschten Gruppe wie unten gezeigt an:

Ein Screenshot, der das Einfügen von ActiveX-Steuerelement-Kontrollkästchen in Excel zeigt

2. Drücken Sie Alt+F11, um das Fenster Microsoft Visual Basic for Applications zu öffnen.

3. Klicken Sie im Editorfenster auf Einfügen > Klassenmodul. Dieser Schritt erstellt ein neues Klassenmodul, das erforderlich ist, um Ereignisse mehrerer Kontrollkästchen zu verarbeiten. Mit einem Klassenmodul können Sie individuell auf das Anklicken jedes einzelnen Kontrollkästchens reagieren – ganz unabhängig davon, wie viele Kontrollkästchen vorhanden sind.

Ein Screenshot, der die Option zum Einfügen eines Klassenmoduls in Excel VBA zeigt

4. Suchen Sie das neue Klassenmodul im Bereich Eigenschaften (normalerweise links), klicken Sie darauf und ändern Sie den Namen im Feld Name vom Standardwert (z. B. Class1) in ClsChk. Kopieren Sie anschließend den folgenden Code in das Codefenster dieses Klassenmoduls. Siehe Referenz-Screenshot:

Ein Screenshot des Eigenschaftenbereichs in VBA zum Umbenennen der Klasse in ClsChk

VBA-Code 1: Nur ein Kontrollkästchen gleichzeitig auswählbar

Option Explicit
Public WithEvents Chk As MSForms.CheckBox
Private Sub Chk_Click()
Call SelOneCheckBox(Chk)
End Sub

Sub SelOneCheckBox(Target As Object)
Dim xObj As Object
Dim I As String
Dim n As Integer
If Target.Object.Value = True Then

    I = Right(Target.Name, Len(Target.Name) - 8)
    For n = 1 To ActiveSheet.OLEObjects.Count
      If n <> Int(I) Then
        Set xObj = ActiveSheet.OLEObjects.Item(n)
        xObj.Object.Value = False
        xObj.Object.Enabled = False
      End If
    Next
Else
    I = Right(Target.Name, Len(Target.Name) - 8)
    For n = 1 To ActiveSheet.OLEObjects.Count
      If n <> Int(I) Then
        Set xObj = ActiveSheet.OLEObjects.Item(n)
        xObj.Object.Enabled = True
      End If
    Next
End If
End Sub  

5. Klicken Sie als Nächstes auf Einfügen > Modul, um ein Standard-Code-Modul hinzuzufügen. Kopieren Sie den folgenden Code in das Modulfenster. Dieser Code initialisiert alle Ihre Kontrollkästchen und verknüpft sie mit dem oben definierten Ereignishandler:

VBA-Code 2: Nur ein Kontrollkästchen gleichzeitig auswählbar

Dim xCollection As New Collection
Public Sub ClsChk_Init()
Dim xSht As Worksheet
Dim xObj As Object
Dim xChk As ClsChk
   Set xSht = ActiveSheet
   Set xCollection = Nothing
    For Each xObj In xSht.OLEObjects
        If xObj.Name Like "CheckBox**" Then
            Set xChk = New ClsChk
            Set xChk.Chk = CallByName(xSht, xObj.Name, VbGet)
            xCollection.Add xChk
        End If
    Next
    Set xChk = Nothing
End Sub

6. Drücken Sie F5, um den Code auszuführen, wodurch die Einzelauswahl-Logik für Ihre Kontrollkästchengruppe aktiviert wird. Testen Sie das Verhalten, indem Sie eines der Kästchen aktivieren – alle anderen Kästchen sollten sofort deaktiviert und abgewählt werden. Wenn Sie Ihre aktuelle Auswahl deaktivieren, werden alle Kontrollkästchen wieder aktiviert, sodass Sie eine neue Auswahl treffen können.

Ein Screenshot von Kontrollkästchen in Excel, bei denen nach der Ausführung des VBA-Codes jeweils nur eines aktiviert ist

Hinweis: Wenn Sie Kontrollkästchen zu Ihrer Gruppe hinzufügen oder daraus entfernen, müssen Sie die Initialisierungs-VBA erneut ausführen. Der Grund: Die Ereignishandler werden bei jeder Codeausführung aktualisiert, sodass Ihre VBA Änderungen an der Steuerelementgruppe korrekt erkennt.

Zu den Vorteilen dieser Methode gehört ihre vollständige Automatisierung – Benutzer können versehentlich keine Mehrfachauswahl treffen. Allerdings funktioniert sie ausschließlich mit ActiveX-Steuerelementen, deren Verfügbarkeit von der verwendeten Excel-Version abhängen kann, und setzt voraus, dass Makros aktiviert sind. Zudem kann die Weitergabe von Arbeitsmappen mit ActiveX-Steuerelementen oder Makros an andere Benutzer zusätzliche Sicherheitsberechtigungen erfordern.


Verwandte Artikel:

Beste Office-Produktivitätstools

🤖KUTOOLS AI-Assistent: Revolutionieren Sie Datenanalyse basierend auf:Intelligente Ausführung   |  Code generieren|  benutzerdefinierte Formeln erstellen  |  Daten analysieren und Diagramme erstellen|  Erweiterte Funktionen aufrufen
Beliebte Funktionen:Suchen, hervorheben oder Doppelte markieren   |  Leere Zeilen löschen   |  Spalten kombinieren oder Zellen ohne Datenverlust   |   Runden ohne Formel...
Erweiterte SVERWEIS:VLookup mit mehreren Kriterien  |  VLookup mit mehreren Werten  |   VLookup über mehrere Arbeitsblätter hinweg   |   Fuzzy Match....
Erweiterte Dropdown-Liste:Schnell eine Dropdown-Liste erstellen   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl-Dropdown-Liste....
Spalten-Manager:Eine bestimmte Anzahl von Spalten hinzufügen|Spalten verschieben|Sichtbarkeitsstatus ausgeblendeter Spalten umschalten|Bereiche & Spalten vergleichen...
Hervorgehobene Funktionen:Gitterfokus   |  Entwurf   |Erweiterte Formelleiste   | Arbeitsmappen- & Blatt-Manager   |  Ressourcenbibliothek(AutoText)|  Datumsauswahl   |  Arbeitsblätter konsolidieren  |  Verschlüsseln/Zellen entschlüsseln   | E-Mails per Liste versenden   |  Super Filter   |   Spezialfilter(Zellen mit fettgedruckter Schrift filtern/kursiv/durchgestrichen...) ...
Top-15-Toolsets:12-Text-Tools(Text hinzufügen,Bestimmte Zeichen löschen, ...)|   50+-Diagramm-Typen(Gantt-Diagramm, ...)|   40+ Praktische Formeln(Alter basierend auf dem Geburtstag berechnen, ...)|   19-Einfüge-Tools(QR-Code einfügen,Bild aus Pfad einfügen, ...)|   12-Konvertierungs-Tools(In Wörter umwandeln,Wechselkursumrechnung, ...)|   7-Vereinigen/Aufteilen-Tools(Erweiterte Zeilen zusammenführen,Zellen aufteilen, ...)|... und mehr
Verwenden Sie Kutools in Ihrer bevorzugten Sprache – unterstützt Englisch, Spanisch, Deutsch, Französisch, Chinesisch und 40+ weitere Sprachen!

Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor.Kutools für Excel bietet über 300 erweiterte Funktionen zur Steigerung der Produktivität und Zeit sparen.Klicken Sie hier, um die Funktion zu erhalten, die Sie am dringendsten benötigen...


Office Tab bringt eine tabbasierte Oberfläche in Office und macht Ihre Arbeit viel einfacher

  • Aktivieren Sie tabbasiertes Bearbeiten und Lesen in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters – statt jedes in einem separaten Fenster zu öffnen.
  • Steigert Ihre Produktivität um 50 % und erspart Ihnen täglich Hunderte von Mausklicks!

Alle Kutools-Add-Ins – ein Installationsprogramm

Kutools for Office-Paket bündelt Add-Ins für Excel, Word, Outlook und PowerPoint sowie Office Tab Pro – ideal für Teams, die mit mehreren Office-Anwendungen arbeiten.

ExcelWordOutlookTabsPowerPoint
  • Alles-in-einem-Paket— Add-Ins für Excel, Word, Outlook & PowerPoint sowie Office Tab Pro
  • Ein Installationsprogramm, eine Lizenz— innerhalb weniger Minuten eingerichtet (MSI-fähig)
  • Funktioniert besser zusammen— optimierte Produktivität über alle Office-Anwendungen hinweg
  • 30-tägige Vollversion zum Testen— keine Registrierung, keine Kreditkarte erforderlich
  • Bestes Preis-Leistungs-Verhältnis— sparen Sie im Vergleich zum Kauf einzelner Add-Ins