Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1816to1820
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

Bild Array fest nicht dynamisch

Bild Array fest nicht dynamisch
10.03.2021 09:30:55
Daniel
Hallo Zusammen,
vielleicht kann mir jemand helfen;
Ausgangssituation:
Excel Datei mit Makros und User Form zur Formulareingabe
Der Benutzer füllt mittels der UserForm ein Formular aus, welches dann per PDF gespeichert und per Email versendet wird.
Beim Übertragen der Daten von der Userform in das Formular wird ein Bild mitgeliefert und im Formular implementiert ( Unterschrift)
Der Benutzer schließt die Datei ; mal gespeichert oder ungespeichert. Das ist erstmal eher unwichtig, da ich beim erneuten Datei- bzw. Userform Aufruf die Formulardaten lösche.
Bis hierhin klappt alles wunderbar.
NUR das eingebundene Bild lässt sich mit Select und Clear Contents nicht löschen.
Wenn ich das Bild markiere und lösche klappt das; automatisiert klappt es nicht, da das Bild immer eine andere Array Nummer hat.
Gibt es denn eine Möglichkeit dass diese "Dynamik" verhindert wird?
So sieht es aus, wenn ich den Makrorecorder mitlaufen lasse.

ActiveSheet.Shapes.Range(Array("Picture 30")).Select

Lösche ich das Bild nun manuell und für ein Neues ein, geht der Array Zähler hoch.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild Array fest nicht dynamisch
10.03.2021 09:42:21
Nepumuk
Hallo Daniel,
teste mal:
Public Sub Test()
    Dim objShape As Shape
    For Each objShape In Tabelle1.Shapes
        With objShape
            If .Type = msoLinkedPicture Or .Type = msoPicture Then Call .Delete
        End With
    Next
End Sub

Gruß
Nepumuk

Anzeige
AW: Bild Array fest nicht dynamisch
10.03.2021 09:43:00
JoWE
Machst doch so:
For Each shp In ActiveSheet.Shapes
   shp.Delete
Next shp
Gruß
Jochen

AW: Bild Array fest nicht dynamisch
10.03.2021 09:43:21
Daniel
Hi
Wenn das das einzige Shape im Blatt ist, könntest du es mit der Indexnummer ActiveSheet.Shapes(1) ansprechen.
Hast du mehrere Shapes und nur das zuletzt hinzugefügte soll gelöscht werden, dann ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
Oder du weist beim Einfügen der Unterschrift diese einer Variablen zu und kannst sie darüber ansprechen.
Wenn nach dem Einfügen die Unterschrift selektiert ist:
Dim üb as Shapes
Einfügen der Unterschrift
Set üb = Selection
üb.delete
Gruß Daniel

Anzeige
AW: Bild Array fest nicht dynamisch
10.03.2021 10:45:00
Daniel
Vielen Dank für eure Denkanstöße.
Leider ist es nicht das einzigste Bild in dem Blatt. ABER Ihr habt mich auf eine Idee gebracht.
Beim einfügen des Bildes ist dieses ja "selected"; also noch angewählt...
jetzt verpasse ich dem Ding einen eindeutigen Namen
Selection.Name = "Autogramm"
Dann klappt auch das Löschen.

AW: Bild Array fest nicht dynamisch
10.03.2021 09:46:53
Matthias
Moin!
Gibt es noch mehr Shapes auf dem Blatt? Wenn nicht, gehst du durch alle Shapes (sollte dann nur 1 sein) und löscht es.
Gibt es mehr, müsstest du bei jedem auswerten, wo es liegt. Das kannst du mit .TopLeftCell.Address machen. Ich vermute mal, dass dein Bild immer an der selben Stelle liegt. Daher sollte das dann eindeutig sein.
VG

Anzeige
ohne VBA - Verknüpfte Grafik
10.03.2021 10:40:37
ChrisL
Hi
Im Sinne einer Alternative:
https://www.herber.de/bbs/user/144617.xlsx
Formular!B2 steht Name (Hans oder Peter) und die Grafik darunter passt sich automatisch an.
- Bereichsname 'Grafik' definieren: =BEREICH.VERSCHIEBEN(Hilfe!$B$1;VERGLEICH(Formular!$B$2;Hilfe!$A:$A;0)-1;0)
- Zelle B2 aus Blatt Hilfe kopieren
- In Tabelle Formular einfügen (Weitere Einfügeoptionen, Verknüpfte Grafik)
- Dem eingefügten Bild den Namen 'Grafik' geben
cu
Chris

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige