Zum Hauptinhalt springen

Kutools für Office — Eine Suite. Fünf Tools. Erledigen Sie mehr.

Wie lässt man nur ein Kontrollkästchen in einer Gruppe in Excel auswählen?

Author Siluvia Last modified

In einigen Excel-Anwendungen müssen Sie möglicherweise Benutzern erlauben, nur eine Option aus einer Gruppe von Kontrollkästchen auszuwählen – was das Verhalten von Optionsfeldern nachahmt. Zum Beispiel zeigt der folgende Screenshot, dass beim Aktivieren eines Kontrollkästchens in Zeile 2 alle anderen Kontrollkästchen in der Gruppe sofort deaktiviert werden, wodurch sichergestellt wird, dass immer nur eine Auswahl möglich ist. Diese Einschränkung ist nützlich bei Umfrageformularen, Single-Choice-Auswahllisten oder Dashboards, wo mehrere Antworten verhindert werden sollen. Die direkte Implementierung dieser Funktionalität in Excel erfordert spezielle Techniken, wie die Verwendung von VBA-Code. Dieser Artikel bietet praktische Lösungen zur Erreichung des „Single-Selection“-Effekts mit Kontrollkästchen in Excel, einschließlich Schritt-für-Schritt-Anleitungen und wichtige Überlegungen für den realen Gebrauch.

A screenshot of a group of checkboxes in Excel where only one can be selected at a time


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

Sie können den folgenden VBA-Ansatz verwenden, um sicherzustellen, dass nur ein Kontrollkästchen in einer Gruppe gleichzeitig ausgewählt werden kann. Diese Lösung ist besonders geeignet, wenn Sie eine nahtlose, automatische Erfahrung benötigen – ideal für komplexe Vorlagen oder wenn die Steuerung der Aktivierungs-/Deaktivierungslogik wichtig ist.

1. Beginnen Sie damit, die Kontrollkästchen dort einzufügen, wo eine Einzelauswahl erzwungen werden soll. Für diese Lösung müssen Sie ActiveX Control-Kontrollkästchen verwenden, da Formularsteuerelemente-Kontrollkästchen das direkte Aktivieren/Deaktivieren nicht unterstützen. Um ActiveX-Kontrollkästchen einzufügen, gehen Sie zu Entwicklertools > Einfügen > ActiveX-Steuerelemente > Kontrollkästchen. Ordnen Sie alle Kontrollkästchen in Ihrer gewünschten Gruppe an, wie unten gezeigt:

A screenshot showing the insertion of ActiveX Control checkboxes in Excel

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

3. Klicken Sie im Editorfenster auf Einfügen > Klassenmodul. Dieser Schritt erstellt ein neues Klassenmodul, das für die Behandlung von Ereignissen für mehrere Kontrollkästchen erforderlich ist. Mit einem Klassenmodul ist es möglich, auf jedes angeklickte Kontrollkästchen individuell zu reagieren, unabhängig davon, wie viele Kontrollkästchen vorhanden sind.

A screenshot showing the option to insert a Class Module in Excel VBA

4. Finden Sie das neue Klassenmodul im Eigenschaftenbereich (normalerweise links), klicken Sie darauf, und ändern Sie im Feld (Name) den Standardnamen (z.B. Class1) in ClsChk. Kopieren Sie dann den folgenden Code und fügen Sie ihn in das Codewindow dieses Klassenmoduls ein. Siehe Screenshot als Referenz:

A screenshot of the Properties pane in VBA for renaming the class to ClsChk

VBA-Code1: Nur ein Kontrollkästchen gleichzeitig auswählen

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 Standardcodemodul hinzuzufügen. Kopieren Sie den folgenden Code und fügen Sie ihn in das Modulfenster ein. Dieser Code initialisiert und „verknüpft“ alle Ihre Kontrollkästchen mit dem oben definierten Ereignishandler:

VBA-Code2: Nur ein Kontrollkästchen gleichzeitig auswählen

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, der die Einzelauswahllogik für Ihre Kontrollkästchengruppe aktiviert. Testen Sie das Verhalten, indem Sie eines der Kontrollkästchen aktivieren; alle anderen Kontrollkästchen sollten sofort deaktiviert und gesperrt werden. Wenn Sie Ihre aktuelle Auswahl deaktivieren, werden alle Kontrollkästchen wieder aktiviert, sodass Sie eine andere Auswahl treffen können.

A screenshot of checkboxes in Excel where only one is enabled at a time after VBA code execution

Hinweis: Wenn Sie der Gruppe Kontrollkästchen hinzufügen oder löschen, müssen Sie die Initialisierung des VBA-Codes erneut ausführen. Dies liegt daran, dass die Ereignishandler jedes Mal aktualisiert werden, wenn der Code ausgeführt wird, um sicherzustellen, dass Änderungen an der Steuergruppe ordnungsgemäß vom VBA erkannt werden.

Die Vorteile dieser Methode liegen in ihrer vollständigen Automatisierung – Benutzer können versehentlich keine mehrfachen Optionen auswählen. Es funktioniert jedoch nur mit ActiveX-Steuerelementen, die möglicherweise durch die Excel-Version begrenzt sind, und Makros müssen aktiviert sein. Außerdem erfordert die Verteilung von Arbeitsmappen mit ActiveX-Steuerelementen oder Makros an andere Benutzer ggf. zusätzliche Sicherheitsberechtigungen.


Verwandte Artikel:

Die besten Produktivitätstools für das Büro

🤖 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: Doppelte suchen, hervorheben oder markieren | Leere Zeilen löschen | Spalten oder Zellen zusammenführen, ohne Daten zu verlieren | 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...
Spaltenmanager: Eine bestimmte Anzahl an Spalten hinzufügen | Spalten verschieben | Sichtbarkeitsstatus versteckter Spalten umschalten | Bereiche & Spalten vergleichen...
Empfohlene Funktionen: Gitterfokus | Entwurfsansicht | Erweiterte Formelleiste | Arbeitsmappe & Arbeitsblatt-Manager | AutoText-Bibliothek | Datumsauswahl | Daten zusammenführen | Zellen verschlüsseln/entschlüsseln | E-Mail senden nach Liste | Super Filter | Spezialfilter (fett/kursiv/durchgestrichen filtern...) ...
Top15 Toolsets:12 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 Konsolidierungs- & Aufteilungstools (Erweiterte Zeilen zusammenführen, Zellen aufteilen, ...) | ... und mehr
Verwenden Sie Kutools in Ihrer bevorzugten Sprache – unterstützt Englisch, Spanisch, Deutsch, Französisch, Chinesisch und über40 weitere!

Stärken Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und genießen Sie Effizienz wie nie zuvor. Kutools für Excel bietet mehr als300 erweiterte Funktionen, um die 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 Tab-Oberfläche in Office und macht Ihre Arbeit wesentlich einfacher

  • Aktivieren Sie die Tabulator-Bearbeitung und das Lesen in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Tabs innerhalb desselben Fensters, statt in neuen Einzelfenstern.
  • Steigert Ihre Produktivität um50 % und reduziert hunderte Mausklicks täglich!

Alle Kutools-Add-Ins. Ein Installationspaket

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

Excel Word Outlook Tabs PowerPoint
  • All-in-One-Paket — Add-Ins für Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Ein Installationspaket, eine Lizenz — in wenigen Minuten einsatzbereit (MSI-kompatibel)
  • Besser gemeinsam — optimierte Produktivität in allen Office-Anwendungen
  • 30 Tage kostenlos testen — keine Registrierung, keine Kreditkarte erforderlich
  • Bestes Preis-Leistungs-Verhältnis — günstiger als Einzelkauf der Add-Ins