ich habe mit der Kamera Funktion einen kleinen Auschnitt von meiner Tabelle erstellt. Nun habe ich versucht, mit einem Button aus den Formularsteuerelementen, ein Makro zu erstellen, das mir den Kameraauschnitt bei Klick darauf schliesst oder öffnet. Das will aber nicht klappen. Es kommt immer eine Fehlermeldung. "Laufzeitfehler 1004 Das Element mit dem angegebenen Namen wurde nicht gefunden" Wie mache ich es den richtig?
Ich rate mal, dass du nicht den richtigen Namen im Code für das Element verwendest :05:
Code:
Private Sub ToggleButton1_Click()
If ToggleButton1.Value = 0 Then ActiveSheet.Shapes("Picture 1").Visible = False Else ActiveSheet.Shapes("Picture 1").Visible = True End If
End Sub
Wenn du nicht weißt, wie deine Kamerashape hießt, verwende diesen Code, indem du die Shape markierst und den Code ausführst. Im Debugbereich wird dir der Name angezeigt:
Ach, das ist jetzt blöd, dass mir meine Glaskugel vorhin runtergefallen ist. Somit musst du leider in diesem Fall deinen Code hier posten, ansonsten wird es schwierig mit der Hilfe.
Aussagen wie "funktioniert nicht" und "nur Fehlermeldungen" sind so ziemlich die am wenigsten hilfreichen Antworten, die man im Forum geben kann.
Du hast recht, das war dumm von mir. Wie willst du mit solchen Aussagen auch helfen. Bevor ich aber noch mehr schlechte infos hier in den Raum werfe, habe ich eine Testdatei hochgeladen. Vieleicht ist das besser so....
25.06.2018, 13:55 (Dieser Beitrag wurde zuletzt bearbeitet: 25.06.2018, 13:56 von MisterBurns.)
Hm... nun versteh ich nur leider nicht, was dein Code
Code:
Sub Öffnen() ' ' Öffnen Makro '
' Range("D1:N4").Select Selection.Copy ActiveSheet.Shapes.AddShape(, 463.5, 171.75, 72#, 72#).Select ActiveSheet.Shapes.Range(Array("Picture 14")).Select Application.CutCopyMode = False Range("Q15").Select End Sub
Sub Schließen() ' ' Schließen Makro '
' ActiveSheet.Shapes.Range(Array("Picture 14")).Select Selection.Delete End Sub
mit meinem Code
Code:
Private Sub ToggleButton1_Click()
If ToggleButton1.Value = 0 Then ActiveSheet.Shapes("Picture 1").Visible = False Else ActiveSheet.Shapes("Picture 1").Visible = True End If
End Sub
zu tun hat. Mein Vorschlag lautete, dass du den Kameraausschnitt aus- bzw. einblendest. Du löschst ihn jedoch und willst danach einen neuen erstellen. Ist dir klar, dass damit dein "Schließen"-Makro nur genau einmal funktioniert? Denn nach dem nächsten Erstellen des Ausschnitts heißt dieser nicht mehr "Picture 14", sondern "Picture 15". Also wozu der ganze Umstand mit löschen und neu erstellen? Was gefällt dir nicht an meiner Lösung?
in dem Teil wird etwas ausgewählt und kopiert Range("D1:N4").Select Selection.Copy
in dem Teil wird ein Shape eingefügt. ActiveSheet.Shapes.AddShape(, 463.5, 171.75, 72#, 72#).Select Allerdings wird bemängelt, das ein Parameter fehlt. Das wäre der vor dem Komma, in dem festgelegt wird, welches Shape Du einfügen willst, z.B. einen Pfeil, eine Sprechblase oder was auch immer.
Hier wird nun das Bild 14 ausgewählt. Gibt es das nicht, gibt es stattdessen einen Fehler ... ActiveSheet.Shapes.Range(Array("Picture 14")).Select
Das trifft ebenso auf das Schließen-Makro zu. Ohne Bild14 würde da auch ein Fehler kommen.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)