Wie kann nur ein Kontrollkästchen in einer Gruppe von Kontrollkästchen in Excel aktiviert werden?
Wie der folgende Screenshot zeigt, werden für eine Gruppe von Kontrollkästchen in Zeile 2 die anderen Kontrollkästchen deaktiviert, wenn nur ein Kontrollkästchen ausgewählt oder aktiviert wird. Wie erreicht man das? Der VBA-Code in diesem Artikel kann Ihnen helfen.
Aktivieren Sie nur ein Kontrollkästchen mit VBA-Code
Aktivieren Sie nur ein Kontrollkästchen mit VBA-Code
Sie können die folgenden VBA-Codes ausführen, um jeweils nur ein Kontrollkästchen in einer Kontrollkästchengruppe auszuwählen. Bitte gehen Sie wie folgt vor.
1. Bitte setzen Sie zunächst die Kontrollkästchen nach Bedarf ein. Hier sollten Sie die einfügen Kontrollkästchen für ActiveX Control wie folgt Screenshot gezeigt:
2. Drücken Sie dann Andere + F11 gleichzeitig zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.
3. In der Öffnung Microsoft Visual Basic für Applikationen Klicken Sie im Fenster Insert > Klassenmodul.
4. Ändern Sie den Klassennamen in ClsChk in dem (Name) Box der Ferienhäuser Kopieren Sie den folgenden VBA-Code und fügen Sie ihn in den entsprechenden Code ein Code Fenster. Siehe Screenshot:
VBA-Code 1: Aktivieren Sie jeweils nur ein Kontrollkästchen
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 nun auf Insert > ModulKopieren Sie dann den folgenden VBA-Code und fügen Sie ihn in das ein Modul Fenster.
VBA-Code 2: Aktivieren Sie jeweils nur ein Kontrollkästchen
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 die Taste F5 Schlüssel zum Ausführen des Codes.
Wenn Sie von nun an eines der Kontrollkästchen im Arbeitsblatt aktivieren, werden die anderen Kontrollkästchen automatisch deaktiviert, und Sie können es deaktivieren, um alle Kontrollkästchen wieder zu aktivieren.
Note: Wenn der Kontrollkästchengruppe ein neues Kontrollkästchen hinzugefügt wird, führen Sie den VBA-Code erneut aus, um alle Kontrollkästchen erneut zu aktivieren. Wenn Sie das Kontrollkästchen aus der Kontrollkästchengruppe löschen, muss der Code ebenfalls erneut ausgeführt werden.
Rbegeisterte Artikel:
- Wie filtere ich Daten basierend auf dem Kontrollkästchen in Excel?
- Wie kann ich das Kontrollkästchen ausblenden, wenn die Zeile in Excel ausgeblendet ist?
- Wie markiere ich eine Zelle oder Zeile mit einem Kontrollkästchen in Excel?
- Wie erstelle ich eine Dropdown-Liste mit mehreren Kontrollkästchen in Excel?
- Wie füge ich einen Datumsstempel in eine Zelle ein, wenn ein Kontrollkästchen in Excel aktiviert ist?
Beste Office-Produktivitätstools
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, 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 Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!