Office: (Office 2016) VBA: Active Checkbox direkt ansprechen (ohne deren Nummer)

Helfe beim Thema VBA: Active Checkbox direkt ansprechen (ohne deren Nummer) in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi, ich werde die Datei garantiert nicht nachbauen, dafür ist der Aufwand zu groß und den Code kann ich so auch nicht testen. Da musst du schon mal... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von woerli, 11. Juni 2020.

  1. Beverly
    Beverly Erfahrener User

    VBA: Active Checkbox direkt ansprechen (ohne deren Nummer)


    Hi,

    ich werde die Datei garantiert nicht nachbauen, dafür ist der Aufwand zu groß und den Code kann ich so auch nicht testen. Da musst du schon mal eine Kopie deiner Mappe erstellen und alles entfernen, was nicht in Beziehung zu deinem Problem steht, auch z.B. Formelergebnisse durch Werte ersetzen, damit die Mappe kleiner wird und du sie hochladen kannst.

    Bis später,
    Karin
     
    Beverly, 12. Juni 2020
    #16
  2. woerli Erfahrener User
    Hallo Karin,

    verstehe ich und soll auch nicht notwendig sein. Ich wollte nur konkret aufzeigen um was es geht und in welcher "Umgebung" ich mich bewege, bezogen auf deine ermutigende Aussage:

    "Doch auch für Steuerelemente im Tabellenblatt gibt es Möglichkeiten. Allerdings müsste man dazu wissen, um welchen Typ es sich handelt - ActiveX-Steuerelemente oder Formularsteuerelemente. Am einfachsten macht sich so etwas, wenn man eine Beispilemappe hochlädt."

    Ergänzend dazu noch der Hinweis, dass es sich um ActiveX-Elemente handelt. Wie gesagt, es geht mir nicht darum das gesamte Dokument mit dem neuen Code in diesem Thread zum laufen zu bringen, sondern lediglich das Grundproblem des Threads zu lösen. Also wie ich in dem Beispiel die Checkboxen "automatisiert" ansprechen kann, ohne immer den individuellen Namen+Nummer konkret vorschreiben zu müssen.
    Dann kann ich selbstständig:
    - den gesamten Code verkürzen
    - darauf verzichten, jeder Checkbox eine Zelle mit einem Bool-Wert zuzuweisen

    Viele Grüße und einen angenehmen Abend
    Holger
     
    woerli, 12. Juni 2020
    #17
  3. Beverly
    Beverly Erfahrener User
    Hi Holger,

    hier ein Code, wie man AxtiveX-Steuerelemente des Tabellenblattes in einer Schleife durchläuft, feststellt ob es sich um eine CheckBox handelt und wenn ja dann eine MsgBox anzeigt wenn die CheckBox aktiviert ist:

    Code:
        Dim oobElement As OLEObject
        For Each oobElement In ActiveSheet.OLEObjects
            If oobElement.progID = "Forms.CheckBox.1" Then
                If oobElement.Object Then MsgBox oobElement.Name & " ist aktiviert"
            End If
        Next oobElement
    
    
    Bis später,
    Karin
     
    Beverly, 12. Juni 2020
    #18
  4. woerli Erfahrener User

    VBA: Active Checkbox direkt ansprechen (ohne deren Nummer)

    Hi Karin,

    vielen Dank, habe ich getestet und funktioniert so erstmal prima.
    Angenommen ich habe mehrere aktive Checkboxen auf dem Blatt und mich interessiert nur der Status einer bestimmten, wie kann ich das damit umsetzen?
    Also Beispiel: ich weiß, ich bin grade in Zeile 5 und die Checkbox in dieser Zeile heißt "Checkbox3", wie verwende ich dann die "3" als Perameter?

    Alternativ könnte ich eventuell bei deinem Code die If-Anweisung weglassen und die Schleife X mal durchzählen lassen. X wäre dann "Zeile - 2" und ich hätte die entsprechende Checkbox.

    Zum Verständnis:
    Dein Code ermittelt ja nur aktive Checkboxen. Die Ermittlung nach "aktiv" erfolgt in der Anweisung "Forms.CheckBox.1", oder?
    Die Variante "Forms.CheckBox.0" wären dann die deaktivierten Checkboxen, aber ich habs probiert und so einfach ist es leider nicht.

    Viele Grüße
    Holger
     
    woerli, 13. Juni 2020
    #19
  5. Beverly
    Beverly Erfahrener User
    Hi Holger,

    mein Code läuft über ALLE STEUERELEMENTE im Tabellenblatt und wenn dieses Steuerelement eine CheckBox ist, wird wiederum geprüft ob sie aktiviert ist. Die äußere If-Anweisung prüft, ob das gerade durchlaufene Steuerelement eine CheckBox ist - "Forms.CheckBox.1" ist der VBA-Begriff für den Steuerelemente-Typ CheckBox.
    Die MsgBox für die aktivierte CheckBox ist nur ein Beispiel - in die innere If-Anweisung kann man alles Mögliche packen.

    Wenn du prüfen willst, ob es die CheckBox in Zeile 5 ist, kannst du die Eigenschaft TopLeftCell verwenden

    Code:
        Dim oobElement As OLEObject
        For Each oobElement In ActiveSheet.OLEObjects
            If oobElement.progID = "Forms.CheckBox.1" Then
                If oobElement.TopLeftCell.Row = 5 Then MsgBox "CheckBox ist in Zeile 5"
            End If
        Next oobElement
    
    
    Bis später,
    Karin
     
    Beverly, 13. Juni 2020
    #20
  6. woerli Erfahrener User
    Hi Karin,

    danke auch hierfür!
    Nun kann ich die Checkbox in der jeweiligen Zeile finden und mit

    Code:
    oobElement.Object.Value
    deren Wert abfragen oder setzen. :)

    Viele Grüße
    Holger
     
    woerli, 14. Juni 2020
    #21
Thema:

VBA: Active Checkbox direkt ansprechen (ohne deren Nummer)

Die Seite wird geladen...
  1. VBA: Active Checkbox direkt ansprechen (ohne deren Nummer) - Similar Threads - VBA Active Checkbox

  2. VBA HTTP Post - Probleme JSON Payload

    in Microsoft Excel Hilfe
    VBA HTTP Post - Probleme JSON Payload: Moin, ich steh auf dem Schlauch.... Ich möchte mit VBA einen HTTP Post senden. Das klappt beim versenden OHNE Payload auch soweit auch ganz gut. Private Function http_post(url As String,...
  3. Kombinationsfeld in VBA auswerten

    in Microsoft Access Hilfe
    Kombinationsfeld in VBA auswerten: Guten Tag, ich habe ein VBA-Problem mit Kombinationsfeldern. Umfeld: Eine Tabelle A mit Namen incl. Adressen, indiziert (NamenID), keine doppelten Einträge möglich. Eine Tabelle B mit Rechnungen,...
  4. Download per VBA nicht aktuell

    in Microsoft Access Hilfe
    Download per VBA nicht aktuell: Hallo, ich nutze in VBA eine Download-Funktion, die mir die neueste Version meines Frontend downloaden soll. Der Download an sich funktioniert, doch leider wird eine alte Version gespeichert. Ich...
  5. Autofilter bei Zelländerung automatisch aktualisieren – ohne VBA

    in Microsoft Excel Hilfe
    Autofilter bei Zelländerung automatisch aktualisieren – ohne VBA: Hallo zusammen, ich habe eine Frage zur automatischen Aktualisierung von Autofilter-Ergebnissen in einer intelligenten Tabelle – und zwar ohne VBA. Ausgangssituation: Ich habe eine intelligente...
  6. Bereich mit VBA zusammenhalten

    in Microsoft Word Hilfe
    Bereich mit VBA zusammenhalten: Ich schreibe aus Access mit VBA Anschriften in ein Worddokument. Jede Anschrift soll zusammengehalten werdem, damit am Seitenende keine Anschrift getrennt wird. Wie muss ich vorgehen um eine...
  7. bedingte Formatierung Schriftgröße (VBA?)

    in Microsoft Excel Hilfe
    bedingte Formatierung Schriftgröße (VBA?): Hallo zusammen, ich kämpfe mich gerade durch die bedingte Formatierung von Excel. So langsam habe ich das Gefühl, dass ich damit die Schriftgröße einer Tabelle nicht ändern kann. Laut Google...
  8. VBA Active X steuerelemente Auto-Eingabe wen eine Eingabe erfolgt

    in Microsoft Excel Hilfe
    VBA Active X steuerelemente Auto-Eingabe wen eine Eingabe erfolgt: hallo ich möchte gerne über Drei Aktive X Steuer Elemente das in Spalten "A" Datum ,"B"FSN, und in" C" Benutzer immer eine Auto Eingabe Erfolg wen ich beispielsweise in eine Zeil 4 eine Eingabe...
  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