Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1920to1924
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kontrollkästchen

Kontrollkästchen
20.02.2023 14:49:20
MMRH
Hallo Allerseits,
ich habe ein Problem mit Formular-Steuerelementen. Genauer gesagt Kontrollkästchen oder Check Boxen.
Ich habe ein Blatt mit einem Kontrollkästchen "Kontrollkästchen 18" und kann es auch über

'ActiveSheet.Shapes("Check box 18").OLEFormat.Object.Select

anwählen. Kopiere ich dieses Blatt, heißt das Kontrollkästchen auf der Kopie auch "Kontrollkästchen 18", wird dort aber nicht über den o.g. Code erfasst.
Ich versuche gerade eine Fragebogenautomatisierung hinzubekommen und habe mir vorgestellt, dass wenn auf dem Blatt kein Kontrollkästchen 18 gefunden werden kann, der Text "manuelle nacherfassung" erscheinen soll. Meine Code-Idee dazu funktioniert aber nicht. Ich brauche daher hilfe dafür:

                If oldws.Shapes("check box 18").OLEFormat.Object Is Nothing Then
                MsgBox "Manuell nacherfassen"
                ElseIf oldws.Shapes("check box 18").OLEFormat.Object.Value = 1 Then
                MsgBox "Wahr"
                ElseIf oldws.Shapes("check box 18").OLEFormat.Object.Value = -4146 Then
                MsgBox "Falsch"
                End If

Auf dem Originalblatt funktioniert der Code und gibt bei einem aktivierten Kontrollkästchen die Msgbox "Wahr" aus. Auf dem kopierten Blatt führt der Code zum Laufzeitfehler -2147024809 (80070057). Das Element mit dem angegebenen Namen sei nicht gefunden worden. Das sollte aber doch "Manuell nacherfassen" auslösen.
Dank im Voraus.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kontrollkästchen
20.02.2023 15:25:02
GerdL
Hallo M.
Bei maximal einem einzigen Kontrollkästchen pro Tabelle kannst du dein Problem umgehen.
With ActiveSheet
    If .CheckBoxes.Count = 0 Then
        MsgBox "Manuell nacherfassen!"
    ElseIf .CheckBoxes(1) = 1 Then
        MsgBox "Wahr"
    Else
        MsgBox "Falsch"
    End If
End With
Gruß Gerd
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige