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: Notizen in Zelle einfügen

    in Microsoft Excel Hilfe
    VBA: Notizen in Zelle einfügen: Hallo zusammen, ich möchte über cells(x,y).AddComment "Text" eine Notiz einfügen. Das funktioniert leider nur sehr unzuverlässig. Mal ist der Text in der Notiz, mal wird nur eine leere Notiz...
  3. ActiveX Steuerelemente nicht verfügbar im VBA Entwurfsmodus.

    in Microsoft Excel Hilfe
    ActiveX Steuerelemente nicht verfügbar im VBA Entwurfsmodus.: Guten Tag allerseits. Ich habe eine Excel-Anwendung (xlsm mit Macros), die auf einem Laptop Probleme macht. Auf allen anderen PC's läuft es perfekt, auf dem genannten Laptop scheitern Zugriffe auf...
  4. VBA: Datei Upload mit http: POST

    in Microsoft Excel Hilfe
    VBA: Datei Upload mit http: POST: Hallo, schönen Gruß an alle; ich hoffe jemand hat einen Hinweis wo ich ansetzen kann. Problembeschreibung: · VBA aus Excel (das muss auch so bleiben) und funktioniert anscheinend ja auch...
  5. VBA - Dateinamen anhand von Unterstrich und Großbuchstaben trennen

    in Microsoft Excel Hilfe
    VBA - Dateinamen anhand von Unterstrich und Großbuchstaben trennen: Hallo zusammen, ich würde gern folgendes Projekt realisieren. Ich bekomme regelmäßige pdf- und jpg-Dateien (immer im Format Nachname_Vornamen_Geburtsdatum - z. B.:...
  6. VBA Outlook E-Mailvorschau aktualisieren wg. Flag-Text

    in Microsoft Outlook Hilfe
    VBA Outlook E-Mailvorschau aktualisieren wg. Flag-Text: Hallo Leute, ich benötige bei einem Problem euer Wissen. Ich setze in Outlook einen Flag "Erledig" mit einem individuellen Text (= MdName). Allerdingst wird mir dieser Text erst nach einem...
  7. 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,...
  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