Office: (Office 2016) Mehrere Checkboxen mit VBA pr4üfen und darauf reagieren

Helfe beim Thema Mehrere Checkboxen mit VBA pr4üfen und darauf reagieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Guten Tag Excel-Experten Ich habe wieder mal ein Problem bei dem ich nicht weiterkomme. Ich nehme an das mein Fehler einfach ist, aber ich komme... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Hyperkalio, 16. Dezember 2017.

  1. Mehrere Checkboxen mit VBA pr4üfen und darauf reagieren


    Guten Tag Excel-Experten

    Ich habe wieder mal ein Problem bei dem ich nicht weiterkomme. Ich nehme an das mein Fehler einfach ist, aber ich komme nicht darauf. Ich hoffe ihr koennt mir weiterhelfen.

    Ich arbeite wieder an meiner Kalkulationstabelle. In dieser Tabelle habe ich Checkboxen. Diese will ich mittels VBA auf True or False prüfen und darauf reagieren. Ich moechte dazu aber nicht jede einzelne Checkbox pruefen, sondern alle in einer Schleife abarbeiten.

    Dazu habe ich schon mal die erste Frage: Was ist das geeignete Ereignis um dies zu tun. Ich kann dabei ja nicht auf das Ereignis Checkbox1_Click oder Checkbox1_Change zugreifen, denn dabei wird ja nur eine Checkbox ueberwacht?

    Mein Loesungsansatz beruht auf Worksheet_Change, dies ist allerdings sehr rechenintensiv, da bei jeder Aenderung des Tabellenblattes der Code durchlaeuft.

    Hier mein bisheriger Code (leider funktioniert dieser nicht, weil sich Excel regelmaessig beim Ausfuehren aufhaengt):

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim oobCheckbox As OLEObject
    Dim i As Long

    For Each oobCheckbox In ActiveSheet.OLEObjects
    If TypeOf oobCheckbox.Object Is MSForms.CheckBox Then
    If oobCheckbox.Object.Value = True Then
    If Left(oobCheckbox.Name, 8) = "CheckMat" Then
    i = Right(oobCheckbox.Name, 1)
    ActiveSheet.Cells(47 + i, 4) = i
    End If
    End If
    End If
    Next
    End Sub

    Ich habe den Code als Beispiel vereinfacht. Also bitte nicht ueber den Sinn dieses Codes nachdenken ;)

    Der Code sollte bewirken, dass eine CheckBox mit dem Namen "CheckMat1", die angehakt ist, sollte die 1 (aus dem Namen) in die Zelle D48 geschrieben werden. Bei CheckMat2 sollte die Zahl 2 in die Zelle B49 geschrieben werden, usw.

    Allerdings komme ich mit diesem Code in eine Endlosschlaufe und Excel bleibt stecken und muss neu gestartet werden. Ich komme nicht darauf warum dies so ist, muss aber auch sagen, dass ich mich mit OLEObjekten und For Each Schleifen auf Neuland bewege.

    Vielleicht denke ich bereits da viel zu weit und es gibt eine viel einfachere Loesung dies zu erreichen.

    Fuer ein wenig Unterstuetzung bin ich euch sehr dankbar.

    Gruss Roland
     
    Zuletzt von einem Moderator bearbeitet: 30. November 2020
    Hyperkalio, 16. Dezember 2017
    #1
  2. Hallo Community

    Ich habe da Problem inzwischen selber gelöst. Der Fehler war simpel. Indem ich in eine Zelle schreibe, löse ich natürlich das Change-Ereignis aus. Somit wird der Code wieder von vorne gestartet. Eigentlich simpel, aber ich kam erst letzte Nacht darauf. :)

    Ich habe nun den Event-Handler von Excel vor: ActiveSheet.Cells(47 + i, 4) = i ausgeschaltet und diesen danach wieder eingeschaltet.

    Nun macht der Code auch was er soll. Daher brauche ich keine Hilfe mehr.

    Danke trotzdem.

    Gruss Roland
     
    Hyperkalio, 17. Dezember 2017
    #2
  3. Beverly
    Beverly Erfahrener User
    Hi Roland,

    du hast zwar bereits selbst eine Lösung gefunden, dennoch im Anhang eine weitere Möglichkeit mittels Klassenprogrammierung - vielleicht nützt sie dir später irgendwann einmal, denn man kann sie vom Prinzip her auf alle Typen von ActiveX-Steuerelementen anwenden und bietet wesentlich mehr Variationsmöglichkeiten, da sie ohne das Change-Ereignis des Tabellenblattes auskommt.

    Bis später,
    Karin
     
  4. Mehrere Checkboxen mit VBA pr4üfen und darauf reagieren

    Danke Beverly

    Ich habe mich bereits in die Klassenprogrammierung eingelesen und einige Tutorials gemacht. Ich bin deiner Meinung, dies bietet eine unglaubliche Vielfalt an Anwendungsmöglichkeiten.

    Leider habe ich bisher nur begriffen, was alles möglich ist. Wie genau ich das anfangen soll ist ein anderes Thema, wobei ich dich und die anderen Excelexperten noch ziemlich nerven werde sobald ich das versuche. :)

    Im Moment bin ich noch nicht so weit, werde mir aber dein Beispiel gerne zu Gemüte führen und sehen ob ich es so endlich begreife.

    Danke für deine Antwort und deine Mühe...

    Gruss Roland
     
    Hyperkalio, 19. Dezember 2017
    #4
Thema:

Mehrere Checkboxen mit VBA pr4üfen und darauf reagieren

Die Seite wird geladen...
  1. Mehrere Checkboxen mit VBA pr4üfen und darauf reagieren - Similar Threads - Checkboxen VBA pr4üfen

  2. VBA / Leerzeile mit Checkbox löschen

    in Microsoft Excel Hilfe
    VBA / Leerzeile mit Checkbox löschen: Hallo Möchte gerne in einer Excel-Datei Leerzeilen, welche eine aktiviert Checkbox enthalten per VBA löschen. (Checkbox in der zu löschenden Zeile, sowie allfällig andere, deaktivierte Checkboxen...
  3. Zeilen über Kontrollkästchen und abhängig von Zelleninhalt ausblenden

    in Microsoft Excel Hilfe
    Zeilen über Kontrollkästchen und abhängig von Zelleninhalt ausblenden: Hallo, ich habe eine Liste mit 30 Platzhaltern (=Zeilen 11:41) um Nutzer anzulegen. In Zelle C7 wird mir automatisch die Summe der Nutzer angezeigt, wenn die Nutzernamen in die Zeilen eingetragen...
  4. Alle Checkboxen anwählen und definieren

    in Microsoft Excel Hilfe
    Alle Checkboxen anwählen und definieren: Hallo liebe Leuts, Vielleicht kann mir jemand hier weiterhelfen? Ich habe mehrere Checkboxen in einem Dokument und möchte alle nicht aktiven Checkboxes farblich grau hinterlegen ohne dabei jede...
  5. checkbox mit vba aktualisieren

    in Microsoft Access Hilfe
    checkbox mit vba aktualisieren: moin, ich habe jetzt schon ne zeitlang gesucht aber nicht das richtige gefunden... ich möchte nach der eingabe eines datums in ein textfeld, soll automatisch eine checkbox auf true gesetzt...
  6. VBA: Active Checkbox direkt ansprechen (ohne deren Nummer)

    in Microsoft Excel Hilfe
    VBA: Active Checkbox direkt ansprechen (ohne deren Nummer): Hallo, ich habe ein Formula mit ca. 70 Checkboxen erstellt. Jetzt möchte ich deren Wert mit "CheckBox70.Value = False" zurücksetzen, jedoch ohne manuell 70 Einträge individuell erstellen, bzw....
  7. VBA Checkbox und Combobox

    in Microsoft Word Hilfe
    VBA Checkbox und Combobox: Moin. Ich hab folgendes vor: In meinem Dokument gibt es 2 Leistungsarten, die unabhängig voneinander ausgewählt werden können, also entweder LA1 oder LA2 oder beide zusammen. Soweit hab ich...
  8. VBA Word: Konrollkästchen per Code einfügen

    in Microsoft Word Hilfe
    VBA Word: Konrollkästchen per Code einfügen: Moin. Bastel mal wieder an ner Vorlage. Soweit komm ich gut klar. Ich möchte aber per VBA über meine Userform ein Kontrollkästchen (Checkbox) einfügen. Hierfür hab ich auch eine Textmarke im...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden