Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: Bilder innerhalb von Excel kopieren

VBA: Bilder innerhalb von Excel kopieren
13.03.2023 17:41:35
Excel
Hallo,
ich habe vor, mit einer Excel Hilfsseite (Formular mit ausführlichen Feldbeschreibungen und einigen Bildern) jeweils eine Zeile aus einer Tabelle auszulesen und anschließend wieder in die Tablle einzutragen. All das funktioniert mittlerweile prima.
Nun möchte ich jedoch auch zwei Bilder, welche sich auf der Hilfsseite befinden, mit der Tabelle synchronisieren.
Das heißt, dass abhängig von der gewählen Tabellenzeile das Bild aus dem Formular/Hilfsblatt in eine besstimmte Spalte der entsprechend gewählten Tabellenzeile kopiert werden soll. Das Kopieren eines gesamten Bildobjektes shape unter Beibehalt der Formatierung habe ich hinbekommen: Dabei wird jedoch ein neues shape erstellt.
Wenn für die entsprechende Zeile bereits ein Bild eingetragen wurde, soll bei der Eingabe der Zeilennummer dieses Bild aus der Tabelle wieder in das Formular kopiert werden. Nun darf natürlich nicht einfach das ein Feld große Bild an eine bestimmete Stelle in dem Formular kopiert werden. Lediglich die Bilddaten sollen in das per Namen (meinetwegen auch per Nummer) identifizierbare Shape Objekt kopiert werden.
Mein Problem liegt darin, dass ich nicht weiß, wie ich auf die Bilddaten eines Shapes zugreifen kann und diese von einem (per Namen identifizierbaren) Shape in ein anderes bereits vorhandenes Shape kopieren kann, ohne dass sich dabei etwa die Größe und Makrozuordnung des Zielfeldes ändert.
Das Einfügen aus einer Datei im Explorer in ein Bild bekomme ich hin, allerdings blicke ich bei den Objektstrukturen wirklich nicht mehr durch...
Vielen Dank schonmal im Voraus!
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Bilder innerhalb von Excel kopieren
13.03.2023 19:57:46
Excel
Hallo Ivan,
man muss mit den Eigenschaften von Objekt der Klasse "Shape" rumspielen:
Function ShapeInZeile_finden(ws As Worksheet, ByVal Zeile As Long) As String
Dim S As Shape
    For Each S In ws.Shapes
        If S.TopLeftCell.Row = Zeile Then
            ShapeInZeile_finden = S.Name
            Exit Function
        End If
    Next
End Function
Sub test()
Dim Name As String
Dim i
    For i = 1 To 100
        Name = ShapeInZeile_finden(Tabelle1, i)
        If Name > "" Then Debug.Print i, Name
    Next
End Sub
VG
Yal
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige