Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CheckBox mit VBA bei Click wieder Deaktivieren

Forumthread: CheckBox mit VBA bei Click wieder Deaktivieren

CheckBox mit VBA bei Click wieder Deaktivieren
25.12.2016 12:21:03
Kai

Hallo
Ich habe ein kleines Problem mit der Programmierung
von Checkboxen mit VBA.
Ich habe ein Formular bei dem immer 3 Checkboxen in
Abhängigkeit stehen.

Private Sub CheckBox14_Click()
CheckBox14.Value = True
CheckBox15.Value = False
CheckBox16.Value = False
End Sub
Private Sub CheckBox15_Click()
CheckBox15.Value = True
CheckBox14.Value = False
CheckBox16.Value = False
End Sub
Private Sub CheckBox16_Click()
CheckBox16.Value = True
CheckBox15.Value = False
CheckBox14.Value = False
End Sub

Das funktioniert soweit auch ganz gut aber
jetzt möchte ich die Checkbox eventuell auch
wieder deaktivieren, was ich mit folgendem Code
versucht habe.
Private Sub CheckBox14_Click()
If CheckBox14 = True Then
CheckBox14.Value = False
Else
CheckBox14.Value = True
End If
CheckBox15.Value = False
CheckBox16.Value = False
End Sub
Private Sub CheckBox15_Click()
CheckBox15.Value = True
CheckBox14.Value = False
CheckBox16.Value = False
End Sub
Private Sub CheckBox16_Click()
CheckBox16.Value = True
CheckBox15.Value = False
CheckBox14.Value = False
End Sub

Das Problem jetzt ist aber das VBA bei
bei der Checkbox14 änderung die If Then Else
Schleife 2 mal durchläuft und sich somit nichts
ändert.
Würde mir sehr helfen wenn jemand wüßte wie ich
das Problem umgehen kann.
MFG und Frohe Weihnachten.
PS benutze Excel 2016

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CheckBox mit VBA bei Click wieder Deaktivieren
25.12.2016 13:40:45
Mullit
Hallo,
hmm, willst Du so etwas...:?
Private Sub CheckBox14_Click()
With CheckBox14
CheckBox15.Value = Not .Value
CheckBox16.Value = Not .Value
End With
End Sub

Ebenso frohe Festtage, Mullit
AW: CheckBox mit VBA bei Click wieder Deaktivieren
25.12.2016 13:48:24
MatthiasG
Hallo Jan,
Warum arbeitest du nicht mit dem _Change()-Ereignis?
Dann kannst du das doch besser gestalten, z.B.

Private Sub CheckBox14_Change()
CheckBox15.Value = Not CheckBox14.Value
CheckBox16.Value = Not CheckBox14.Value
End Sub
Gruß Matthias
Anzeige
AW: Hmm was ist eigentlich der Unterschied...
25.12.2016 13:55:02
MatthiasG
... zwischen dem _Change() und dem _Click()-Ereignis?
Konnte grade gar keinen feststellen!
*grübel*
Gruß Matthias

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Checkbox mit VBA in Excel 2016 Deaktivieren


Schritt-für-Schritt-Anleitung

Um eine Checkbox in Excel 2016 mit VBA so zu programmieren, dass sie bei einem Klick wieder deaktiviert werden kann, folge diesen Schritten:

  1. Öffne deinen VBA-Editor:

    • Drücke Alt + F11, um den VBA-Editor zu öffnen.
  2. Füge eine UserForm hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (dein Dokument)" und wähle "Einfügen" -> "UserForm".
  3. Füge Checkboxen hinzu:

    • Ziehe drei Checkboxen auf die UserForm. Nenne sie CheckBox14, CheckBox15 und CheckBox16.
  4. Füge den VBA-Code hinzu:

    • Klicke doppelt auf CheckBox14 und füge diesen Code ein:
    Private Sub CheckBox14_Click()
        If CheckBox14.Value = True Then
            CheckBox14.Value = False
        Else
            CheckBox14.Value = True
        End If
        CheckBox15.Value = False
        CheckBox16.Value = False
    End Sub
  5. Wiederhole das für die anderen Checkboxen:

    • Füge ähnlichen Code für CheckBox15 und CheckBox16 hinzu, wobei du die Checkboxen entsprechend anpasst.
  6. Starte die UserForm:

    • Du kannst die UserForm starten, indem du im VBA-Editor auf "Run" klickst oder F5 drückst.

Häufige Fehler und Lösungen

  • Problem: Die Checkbox wird bei einem Klick nicht deaktiviert.

    • Lösung: Stelle sicher, dass der richtige Code in der Click-Ereignisprozedur verwendet wird. Überprüfe, ob die Checkboxen korrekt referenziert sind.
  • Problem: Die Checkboxen schalten sich nicht richtig um.

    • Lösung: Verwende den With-Befehl, um die Logik zu vereinfachen:
    Private Sub CheckBox14_Click()
        With CheckBox14
            .Value = Not .Value
        End With
        CheckBox15.Value = False
        CheckBox16.Value = False
    End Sub

Alternative Methoden

Eine weitere Methode zur Handhabung von Checkboxen in Excel VBA ist die Verwendung des _Change()-Ereignisses. Dies kann den Code klarer und einfacher machen:

Private Sub CheckBox14_Change()
    CheckBox15.Value = Not CheckBox14.Value
    CheckBox16.Value = Not CheckBox14.Value
End Sub

Diese Methode aktualisiert die anderen Checkboxen basierend auf der Zustandänderung der angeklickten Checkbox.


Praktische Beispiele

Hier ist ein Beispiel, wie du eine einfache Logik für Checkboxen umsetzen kannst:

Private Sub CheckBox14_Click()
    CheckBox15.Value = Not CheckBox14.Value
    CheckBox16.Value = Not CheckBox14.Value
End Sub

Private Sub CheckBox15_Click()
    CheckBox14.Value = Not CheckBox15.Value
    CheckBox16.Value = Not CheckBox15.Value
End Sub

Private Sub CheckBox16_Click()
    CheckBox14.Value = Not CheckBox16.Value
    CheckBox15.Value = Not CheckBox16.Value
End Sub

In diesem Beispiel wird beim Klicken auf eine Checkbox die andere Checkbox deaktiviert.


Tipps für Profis

  • Verwendung von Not: Der Einsatz von Not in deinem Code kann die Lesbarkeit erhöhen und die Anzahl der Zeilen reduzieren.
  • Fehlerbehandlung: Füge Fehlerbehandlung ein, um mögliche Laufzeitfehler zu vermeiden.
  • Benutzerfreundlichkeit: Überlege, wie du die Excel-Druckansicht ausschalten kannst, damit die Benutzeroberfläche beim Drucken nicht überladen wirkt.

FAQ: Häufige Fragen

1. Wie kann ich eine PDF-Checkbox erstellen?
Um eine PDF-Checkbox zu erstellen, kannst du spezielle Software wie Adobe Acrobat verwenden. VBA in Excel eignet sich nicht zur Erstellung von PDF-Formularen.

2. Wo finde ich den VBA-Code für Checkboxen in Excel?
Du findest den VBA-Code, indem du den VBA-Editor öffnest (Alt + F11) und im Projektfenster den entsprechenden UserForm oder das Arbeitsblatt auswählst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige