Excel - Checkbox muss zweimal angeklickt werden zum aktivieren

Excelmania

Lieutenant
Registriert
Apr. 2010
Beiträge
797
Hallo.

Ich habe in einer Useform zwei Checkboxen platziert. Wenn Checkbox 1 aktiviert wird, dann wird Checkbox 2 deaktiviert. Das funktioniert auch soweit.

Ärgerliche ist jedoch, dass die Checkboxen immer zweimal angeklickt werden müssen. Beim ersten klick erfolgt die deaktivierung der zuvor aktivierten checkbox und an der ausgewählen checkbox wird das dazugehörige Textfeld markiert.

Mich würde interessieren, ob es eine Möglichkeit gibt, die Checkboxen auch direkt beim ersten Klick zu aktivieren.
 
Ohne deinen Programmcode bzw. nem ausschnitt davon wird das schwer zu beurteilen, aber grundsätzlich hätte ich erst mal gesagt, dass das gehen müsste
 
Mutmaßung: der Code der zweiten Checkbox…

→ Checkbox?!? Wenn die sich gegenseitig deaktiviern soll erwarte ich Radiobuttons.

…der beim Deaktivieren losrennt stoppt den Code der ersten der just dies auslöste. Erst wenn das Ereignis «andere Checkbox aktiv, ich muss was tun» nicht anspringt wird die (restliche) Funktion der ersten ausgeführt.

CN8
 
  • Gefällt mir
Reaktionen: Micha45
Hallo zusammen,
ist ein altes Thema 🤔 aber für dieses Problem gibt es eine einfache Lösung.
Zuerst die geklickte und die andere Checkbox deaktivieren, dann die geklickte wieder aktivieren.

Und das geht so:

Private Sub CheckBox1_Click()
CheckBox1 = False
CheckBox2 = False
CheckBox1 = True
End Sub

Private Sub CheckBox2_Click()
CheckBox2 = False
CheckBox1= False
CheckBox2 = True
End Sub


Diese Lösung hat den Nachteil, dass man die Checkbox alleine nicht mehr deaktivieren kann.

Wenn man das braucht dann löst man das z.B. so:

Zwei Public-Variablen als Boolean deklarieren

Dazu Code von Modul 1:
Public CB1 as Boolean, CB2 as Boolean

Und der angepasste Code der CheckBoxen:
Private Sub CheckBox1_Click()
If CB1=False then

CheckBox1 = False
CheckBox2 = False
CheckBox1 = True
CB1=True
Else

CB1=False
Endif
End Sub

Private Sub CheckBox2_Click()
If CB2=False then

CheckBox2 = False
CheckBox1= False
CheckBox2 = True
CB2=True
Else

CB2=False
Endif
End Sub


Gruß Andi
 
Zuletzt bearbeitet:
A.Morgenstern schrieb:
Zwei Public-Variablen als Boolean deklarieren
So spontan und »spät« am Abend leuchtet mir nicht ein weswegen ich diese brauche…

Wie auch immer, nochmals extra deutlich:
Unterscheide bitte zwischen Check-Boxen und Radio-Buttons.

Ich müsste suchen wie die im Code heißen, Option-Buttons?! Jedenfalls deklariere ich Radio-Buttons in ihren Eigenschaften als Teil einer Gruppe - klicke ich einen schaltet XL netterweise den anderen aus.
Check-Boxen können prinzipbedingt nebeneinander existieren und beliebig geschaltet sein. Da Abhängigkeiten einzuprogrammieren erscheint mir abwegig.

CN8
 
  • Gefällt mir
Reaktionen: Janush
Zurück
Oben