Kontrollkästchen
20.02.2023 14:49:20
MMRH
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.