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. Datei in mehreren Ordnern suchen und wenn gefunden öffnen?! Macro / VBA

    in Microsoft Excel Hilfe
    Datei in mehreren Ordnern suchen und wenn gefunden öffnen?! Macro / VBA: Hallo Leute, Hoffentlich könnt ihr mir hier helfen, ich krieg den Syntax einfach nicht hin (wahrscheinlich ist es auch totaler käse den ich programmiert habe). Also im Grunde soll eine Datei...
  3. Textteile aus Zelle mit mehreren Absätzen

    in Microsoft Excel Hilfe
    Textteile aus Zelle mit mehreren Absätzen: Hallo, ich habe folgendes Problem: Ich habe in einer Liste in einer Zelle mehrere Angaben aus denen ich Textteile (z.B. alles was in () oder {} ist) herausziehen will, um damit weiter zurechnen....
  4. Aufrufen Datei aus SharePoint per VBA

    in Microsoft Access Hilfe
    Aufrufen Datei aus SharePoint per VBA: Wer kann mir helfen. In meiner Firma gibt es Dateien in diversen Ordner in Form von SharePoints, worauf alle Kolleginnen und Kollegen zugreifen kann. Dort habe ich eine Excel-Vorlage, worin die...
  5. VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.

    in Microsoft Excel Hilfe
    VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.: Hallo zusammen, Eine Tabelle mit 9 Worksheets, Datenblatt, Studien, Studie_1 ...Studie_7. Auf dem Deckblatt werden in Zelle B4-B10 die Namen der Studien eingetragen. Davon abhängig ob ein Name...
  6. VBA Zeilen kopieren mit Bedingung

    in Microsoft Excel Hilfe
    VBA Zeilen kopieren mit Bedingung: Hallo zusammen, Ich möchte per Makro Zeilen aus Tabelle2 in Tabelle3 kopieren, wenn eine Bedingung erfüllt ist. Bedingung: Der Wert in Spalte E (Tabelle2) kommt in Tabelle1 in Spalte E vor....
  7. VBA - Datensätze ans Ende einer anderen Tabelle kopieren

    in Microsoft Excel Hilfe
    VBA - Datensätze ans Ende einer anderen Tabelle kopieren: Hallo zusammen, ich habe gerade eine "Abrechnungs"-Datei für einen Kindergartenbasar erstellt. Es wäre klasse, wenn man per Schaltfläche die Datensätze aus der Tabelle "Kaeufer" ans Ende der...
  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