Rob schrieb über ein Problem beim Entfernen von Bildern aus einem Arbeitsblatt. Er hat Makros, die ein Bild (eine Signatur) als Form hinzufügen, aber wenn er später versucht, das Bild zu löschen, kann er es nicht in der Shapes-Sammlung finden.

Es gibt ein paar Dinge zu überprüfen. Zunächst sollten Sie sicherstellen, dass Sie zum Löschen die richtige Syntax verwenden. Stellen Sie sicher, dass Sie das Blattobjekt explizit in Ihren Code aufnehmen.

Die folgende Zeile funktioniert beispielsweise nicht:

Shapes(1).Delete

Stattdessen müssen Sie das Blatt mit einem Code angeben, der einer der folgenden Zeilen ähnelt:

ActiveSheet.Shapes(1).Delete Sheets("Sheet1").Shapes(1).Delete Sheets(1).Shapes("Signature").Delete

Wenn Sie feststellen, dass sich das erwartete Bild nicht in der Shapes-Sammlung befindet, hat Excel das Bild möglicherweise (aus seltsamen Gründen, die nur Excel bekannt sind) in eine andere Sammlung verschoben, z. B. in die Pictures-Sammlung. Wenn Sie dies vermuten, verwenden Sie das folgende Makro:

Sub WhatAmI()

Dim sTemp As String

sTemp = "You selected this type of object: " & TypeName(Selection)

sTemp = sTemp & vbCrLf     sTemp = sTemp & "It's name is " & Selection.Name     MsgBox sTemp End Sub

Wählen Sie das Signaturbild aus und führen Sie das Makro aus. Sie sollten ein Meldungsfeld sehen, das den ausgewählten Objekttyp sowie dessen Namen angibt.

Sie können die Informationen dann verwenden, um Ihr Makro so zu ändern, dass das Bild wie gewünscht gelöscht wird.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (10037) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: