Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Checkbox status, aktiviert / deaktiviert abfragen

Forumthread: Checkbox status, aktiviert / deaktiviert abfragen

Checkbox status, aktiviert / deaktiviert abfragen
10.11.2008 11:04:13
Meyer
Moin moin,
ich habe folgendes Problem:
Ich möchte, wenn ich eine Checkbox aktiviere, dass eine simple Rechnung durchgeführt wird.
Wenn ich diese Checkbox wieder deaktiviere (also den Haken entferne) soll die Rechnung rückgängig gemacht werden.
Nun habe ich das Problem, dass ich den Eintrag "status der Checkbox" nicht finde um mit diesem eine If-Abfrage zu realisieren.
Denn eine Checkbox kennt anscheinend nur "onclick" und somit weiß das Makro ja nicht ob es aktivieren oder deaktivieren soll.
Eine noch nicht getestete und womöglich unschöne Möglichkeit wäre das zählen. Also der Variable den Wert + 1 zu geben. Wenn ungerade Wert dann wurde sie aktiviert, wenn gerade dann deaktiviert.
Ich gehe aber davon aus, das Excel noch eine andere Funktion anbietet.
Vielen dank für Tipps :-)
Gruß
Folke
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Checkbox status, aktiviert / deaktiviert abfragen
10.11.2008 11:10:00
Chris
Servus,
mach das über Checkbox_Change (Steuerelement Toolbox-, oder UDF-Checkbox):

Private Sub CheckBox1_Change()
If CheckBox1 = True Then
MsgBox "Hallo" ' Rechnung
Else
MsgBox "Hallo, Nö" ' Rechnung rückgängig
End If
End Sub


Gruß
Chris

Anzeige
AW: Checkbox status, aktiviert / deaktiviert abfragen
10.11.2008 11:30:00
Meyer
Moin moin,
ok danke, das sieht genau so aus wie ich es mir vorgestellt habe.
Nun noch eine Frage zur Einbindung.
Wo kommt es hin? Es ja Routinen die sind global und wieder andere die sind nur für diese Mappe.
Gruß
Folke
AW: in das entsprechende Tabellenmodul owT
10.11.2008 11:49:29
Chris
.
Anzeige
Anzeige

Infobox / Tutorial

Checkbox-Status in Excel VBA Abfragen


Schritt-für-Schritt-Anleitung

Um den Status einer Checkbox in Excel VBA abzufragen, kannst Du die CheckBox_Change-Ereignisprozedur verwenden. Hier ist eine einfache Anleitung:

  1. Steuerelement-Toolbox aktivieren: Stelle sicher, dass die Steuerelement-Toolbox in Excel aktiviert ist. Dies kannst Du unter "Entwicklertools" > "Steuerelemente einfügen" machen.

  2. Checkbox hinzufügen: Füge eine Checkbox auf Deinem Arbeitsblatt hinzu.

  3. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  4. Modul auswählen: Wähle das entsprechende Tabellenmodul aus, in dem sich Deine Checkbox befindet.

  5. Code einfügen: Füge den folgenden Code ein:

    Private Sub CheckBox1_Change()
       If CheckBox1.Value = True Then
           MsgBox "Checkbox ist aktiviert - Rechnung wird durchgeführt."
       Else
           MsgBox "Checkbox ist deaktiviert - Rechnung wird rückgängig gemacht."
       End If
    End Sub
  6. Makro speichern: Speichere Deine Änderungen und schließe den VBA-Editor.

  7. Testen: Aktiviere und deaktiviere die Checkbox, um zu sehen, ob die entsprechenden Nachrichten angezeigt werden.


Häufige Fehler und Lösungen

Fehler 1: Checkbox funktioniert nicht

  • Überprüfe, ob die Checkbox tatsächlich im richtigen Modul ist. Der Code sollte im Tabellenmodul der Arbeitsmappe sein, nicht in einem allgemeinen Modul.

Fehler 2: Fehlermeldungen beim Ausführen

  • Achte darauf, dass der Name der Checkbox im Code (CheckBox1) mit dem Namen der tatsächlichen Checkbox übereinstimmt.

Alternative Methoden

Wenn Du andere Methoden zur Abfrage des Checkbox-Status verwenden möchtest, kannst Du die folgenden Ansätze ausprobieren:

  • Direkte Zellverknüpfung: Verknüpfe die Checkbox mit einer Zelle. Die Zelle zeigt dann WAHR oder FALSCH an, je nachdem, ob die Checkbox aktiviert oder deaktiviert ist. Du kannst dann diese Zelle in Deiner Formel oder Deinem VBA-Code abfragen.

  • VBA Kontrollkästchen abfragen: Nutze die Value-Eigenschaft direkt auf das Kontrollkästchen, um den Status abzufragen, wie im obigen Schritt.


Praktische Beispiele

Hier ist ein praktisches Beispiel, das die Verwendung einer Checkbox zur Steuerung einer Berechnung zeigt:

Private Sub CheckBox1_Change()
    Dim result As Double
    result = 100 ' Beispielwert

    If CheckBox1.Value = True Then
        result = result * 2 ' Rechnung durchführen
        MsgBox "Neuer Wert: " & result
    Else
        result = result / 2 ' Rechnung rückgängig machen
        MsgBox "Wert zurückgesetzt: " & result
    End If
End Sub

In diesem Beispiel wird bei Aktivierung der Checkbox der Wert verdoppelt und bei Deaktivierung halbiert.


Tipps für Profis

  • Verwende benutzerdefinierte Funktionen (UDF): Du kannst benutzerdefinierte Funktionen erstellen, um den Status von Kontrollkästchen abzufragen und diese in Formeln zu verwenden.

  • Checkboxen in Schleifen: Wenn Du mehrere Checkboxen hast, kannst Du eine Schleife verwenden, um alle Checkboxen zu durchlaufen und deren Status zu prüfen.

  • Excel Checkbox zählen: Um die Anzahl aktivierter Checkboxen zu zählen, kannst Du eine Schleife nutzen, die durch alle Checkboxen in einem bestimmten Bereich iteriert.


FAQ: Häufige Fragen

1. Wie kann ich den Status mehrerer Checkboxen abfragen? Du kannst eine Schleife verwenden, um durch alle Checkboxen zu iterieren und deren Status abzufragen.

2. Ist es möglich, Checkboxen in Formularen zu verwenden? Ja, Du kannst auch in UserForms Checkboxen verwenden und deren Status abfragen. Der Code funktioniert ähnlich wie im Arbeitsblatt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige