Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel 2013: Verknüpfte Bilder fest einbinden

Forumthread: Excel 2013: Verknüpfte Bilder fest einbinden

Excel 2013: Verknüpfte Bilder fest einbinden
02.08.2018 17:24:51
Marcel
Hallo zusammen,
trotz Internetrecherche und Suchfunktion bin ich auf keine mir verständliche Lösung gekommen:
Ich habe über ein Makro Bilddaten in eine Excel-Datei geladen. Diese Bilder sind offensichtlich verknüpft, da jemand, der keinen Zugriff auf den Pfad auf dem Bilder liegen hat, eine Fehlermeldung erhält.
Den Punkt Daten - "Verknüpfungen bearbeiten" kann ich jedoch nicht anwählen, da dieser ausgegraut ist.
Wie schaffe ich es, dass die Bilder tatsächlich in der Datei gespeichert sind?
Danke und viele Grüße
Marcel
Anzeige

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel 2013: Verknüpfte Bilder fest einbinden
02.08.2018 17:35:30
Hajo_Zi
Hallo Marcel,
benutze anderen Code.
http://hajo-excel.de/inhalt_vba_bild.htm

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: Excel 2013: Verknüpfte Bilder fest einbinden
02.08.2018 19:59:54
Nepumuk
Hallo Marcel,
ein Beispiel:
Public Sub InsertPicture()
    With Worksheets("Tabelle1")
        Call .Shapes.AddPicture(Filename:="H:\Pictures\Picture1.jpg", _
            LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, Left:=.Cells(2, 2).Left, _
            Top:=.Cells(2, 2).Top, Width:=-1, Height:=-1)
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 09:22:14
Marcel
Hallo Nepomuk und Hajo,
Danke für eure Tipps. Ich kenn mich nur leider so gut wie gar nicht aus mit VBA und weiß nicht, wie ich den extrem langen Code den ich ursprünglich genutzt habe (diverse Formatierungen gehen damit einher) so umbaue, dass ich mit eurem Input das erreiche was ich möchte.
Gibt es keine Möglichkeit die Datei, die mir mit den verknüpften Bildern vorliegt, "einfach" so umzuwandeln, dass die Bilder Verknüpfungen "gelöst" und die tatsächlichen Bilder eingefügt werden?
Danke und Grüße
Marcel
Anzeige
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 09:40:18
Nepumuk
Hallo Marcel,
kopiere das folgende Makro in deine Mappe und starte es.
Public Sub Beispiel()
    Dim objShape As Shape
    Dim objWorksheet As Worksheet
    For Each objWorksheet In ThisWorkbook.Worksheets
        For Each objShape In objWorksheet.Shapes
            If objShape.Type = msoLinkedPicture Then
                Call Application.Goto(Reference:=objShape.TopLeftCell, Scroll:=True)
                Select Case MsgBox("Das Bild oben links ist ein verknüpftes Bild." & vbLf & vbLf & _
                            "Diese Verknüpfung durch ein reales Bild ersetzen?", _
                            vbQuestion Or vbYesNoCancel, "Abfrage")
                    Case vbYes
                        Call objShape.CopyPicture(Appearance:=xlScreen, Format:=xlPicture)
                        Call Tabelle1.Paste(Destination:=objShape.TopLeftCell, Link:=False)
                        Call objShape.Delete
                    Case vbNo
                        'do nothing
                    Case vbCancel
                        Exit For
                End Select
            End If
        Next
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 09:57:41
Marcel
Hallo Nepomuk,
sehr ccol, fast genau so habe ich mir das vorgestellt!
Wie müsste man denn das Makro abändern, damit keine Abfrage stattfindet?
In der Datei befinden sich nämlich mehrere hundert Verknüpfungen...
Danke und Gruß
Marcel
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 10:16:09
Nepumuk
Hallo Marcel,
so:
Public Sub Beispiel()
    Dim objShape As Shape
    Dim objWorksheet As Worksheet
    For Each objWorksheet In ThisWorkbook.Worksheets
        For Each objShape In objWorksheet.Shapes
            If objShape.Type = msoLinkedPicture Then
                Call objShape.CopyPicture(Appearance:=xlScreen, Format:=xlPicture)
                Call Tabelle1.Paste(Destination:=objShape.TopLeftCell, Link:=False)
                Call objShape.Delete
            End If
        Next
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 11:53:29
Marcel
Hi Nepomuk!
Genau das was ich wollte!
Nur ist damit (logischerweise) das nächste "Problem" entstanden: 200 Bilder wurden in Originalgröße eingefügt, was natürlich eine Monsterdatei zur Folge hat...
Fällt Dir dazu eventuell eine Lösung ein?
Die Bilder müssen nicht in Originalgröße sein. Es handelt sich um Produktabbildungen, die bislang (als Verknüpfung) sowieso nur klein dargestellt werden. Diese Größe wäre auch vollkommen ausreichend.
Sorry für die vielen Folgefragen und danke für die schnellen und kompetenten Antworten!
Viele Grüße
Marcel
Anzeige
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 11:58:38
Nepumuk
Hallo Marcel,
schon mal mit der Funktion "Bilder komprimieren" versucht?
Gruß
Nepumuk
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 13:56:11
Marcel
Hi Nepomuk,
"Bilder komprimieren" probiere ich gleich.
Bekomme aber einen "Laufzeitfehler 1004" bei dem von Dir geposteten Makro... Zumindest bei der Datei mit den 200 Verknüpfungen... Woran liegt das denn?
Danke und Grüße
Marcel
Anzeige
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 14:03:47
Nepumuk
Hallo Marcel,
wie lautet denn der Text der Fehlermeldung?
Passieren kann dabei nichts. Es könnte schon sein, dass es zu viele sind.
Gruß
Nepumuk
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 14:33:43
Marcel
Er sagt "Anwendungs- oder objektdefinierter Fehler".
Gruß
Marcel
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 14:41:26
Nepumuk
Hallo Marcel,
das könnte alles Mögliche sein. Da kann ich, ohne die Mappe zu sehen, nichts sagen.
Gruß
Nepumuk
Anzeige
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 14:45:36
Nepumuk
Hallo nochmal,
ich habe einen Fehler im Code gefunden. Teste mal damit:
Public Sub Beispiel()
    Dim objShape As Shape
    Dim objWorksheet As Worksheet
    For Each objWorksheet In ThisWorkbook.Worksheets
        For Each objShape In objWorksheet.Shapes
            If objShape.Type = msoLinkedPicture Then
                Call objShape.CopyPicture(Appearance:=xlScreen, Format:=xlPicture)
                Call objWorksheet.Paste(Destination:=objShape.TopLeftCell, Link:=False)
                Call objShape.Delete
            End If
        Next
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 15:31:07
Marcel
Hi Nepomuk,
das Makro läuft jetzt wunderbar problemlos durch.
Jetzt kann ich die Datei am Ende nur nicht abspeichern weil "Nicht genügend Arbeitsspeicher vorhanden"... Ich flipp´ aus! Aber das liegt dann wohl an meiner Hardware...
Ich versuch´s am Montag nochmal.
Danke für Deine Hilfe!
Gruß
Marcel
Anzeige
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 15:34:20
Nepumuk
Hallo Marcel,
sind die Bilder alle auf einer Tabelle oder auf mehrere verteilt?
Gruß
Nepumuk
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 15:41:53
Marcel
Die Bilder sind alle auf einer Tabelle und alle in einer Spalte (A).
Als Hintergrund evtl. noch: die Bilder selbst liegen nicht lokal ab sondern auf einem Server.
Gruß
Marcel
Anzeige
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 15:49:02
Nepumuk
Hallo Marcel,
schau mal ob es so durchläuft. Es wird immer nach 10 umgewandelten Bilder gespeichert.
Public Sub Beispiel()
    Dim objShape As Shape
    Dim lngCount As Long
    Dim objWorksheet As Worksheet
    For Each objWorksheet In ThisWorkbook.Worksheets
        For Each objShape In objWorksheet.Shapes
            If objShape.Type = msoLinkedPicture Then
                Call objShape.CopyPicture(Appearance:=xlScreen, Format:=xlPicture)
                Call objWorksheet.Paste(Destination:=objShape.TopLeftCell, Link:=False)
                Call objShape.Delete
                lngCount = lngCount + 1
                If lngCount Mod 10 = 0 Then Call ThisWorkbook.Save
            End If
        Next
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: Excel 2013: Verknüpfte Bilder fest einbinden
03.08.2018 16:07:21
Marcel
Hallo Nepomuk,
jetzt wieder "Anwendungsfehler 1004" - gleiche Meldung wie zuvor...
Bis zu einem gewissen Punkt macht er es, das sehe ich anhand der Dateigröße nur dann bricht er irgendwann mit dem Fehler ab.
Montag geht´s bei mir dann weiter. Danke für Deine Hilfe und ein schönes Wochenende!
Gruß
Marcel
Anzeige
AW: Excel 2013: Verknüpfte Bilder fest einbinden
06.08.2018 07:53:54
Marcel
Guten Morgen Nepomuk,
das Makro lief übrigens bis Zeile 180 durch bis es zur Fehlermeldung kam.
Viele Grüße
Marcel
AW: Excel 2013: Verknüpfte Bilder fest einbinden
06.08.2018 10:01:33
Nepumuk
Hallo Marcel,
was passiert wenn du das Makro erneut startest, bricht es dann beim selben Bild ab?
Gruß
Nepumuk
AW: Excel 2013: Verknüpfte Bilder fest einbinden
06.08.2018 17:18:51
Marcel
Hallo Nepomuk,
beim nochmaligen Durchlauf läuft das Makro durch!
Einzig die Dateigröße ist jetzt noch das Problem: 178MB
Über den Auswahlbereich habe ich alle Objekte markiert und über den Punkt "Bilder komprimieren" versucht zu komprimieren. Es ändert sich nur nichts an der Dateigröße (auch nicht beim erneuten speichern).
Viele Grüße
Marcel
Anzeige
AW: Excel 2013: Verknüpfte Bilder fest einbinden
06.08.2018 17:27:48
Nepumuk
Hallo Marcel,
da kann ich dir auch nicht helfen, hunderte Bilder benötigen nun mal Speicherplatz.
Gruß
Nepumuk
AW: Excel 2013: Verknüpfte Bilder fest einbinden
07.08.2018 08:39:57
Marcel
Hallo Nepomuk,
trotzdem: vielen Dank für die Unterstützung. Alleine bis hier hin hilft es mir sehr weiter.
Viele Grüße
Marcel
;
Anzeige
Anzeige

Infobox / Tutorial

Verknüpfte Bilder in Excel 2013 fest einbinden


Schritt-für-Schritt-Anleitung

Um Bilder in Excel 2013 fest einzubinden, folge diesen Schritten:

  1. Öffne Excel und erstelle oder öffne die Arbeitsmappe, in die du die Bilder einfügen möchtest.

  2. Drücke Alt + F11 um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Klicke auf Einfügen > Modul.
  4. Kopiere und füge den folgenden Code ein:

    Public Sub Beispiel()
       Dim objShape As Shape
       Dim objWorksheet As Worksheet
       For Each objWorksheet In ThisWorkbook.Worksheets
           For Each objShape In objWorksheet.Shapes
               If objShape.Type = msoLinkedPicture Then
                   Call objShape.CopyPicture(Appearance:=xlScreen, Format:=xlPicture)
                   Call objWorksheet.Paste(Destination:=objShape.TopLeftCell, Link:=False)
                   Call objShape.Delete
               End If
           Next
       Next
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Starte das Makro:

    • Gehe zu Entwicklertools > Makros, wähle Beispiel und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler 1004: Anwendungs- oder objektdefinierter Fehler

    • Überprüfe, ob alle Bilder auf einer Tabelle sind und ob sie korrekt verknüpft sind. Manchmal kann es helfen, die Datei neu zu speichern und das Makro erneut auszuführen.
  • Makro bricht beim gleichen Bild ab

    • Wenn das Makro beim wiederholten Durchlauf nicht abbricht, könnte es an temporären Problemen mit Excel liegen. Versuche, Excel neu zu starten.
  • Nicht genügend Arbeitsspeicher vorhanden

    • Dies kann vorkommen, wenn du viele Bilder hast. Denke daran, die Bilder in der gewünschten Größe einzufügen und eventuell die Funktion „Bilder komprimieren“ zu nutzen.

Alternative Methoden

Wenn du keine VBA-Programmierung verwenden möchtest, kannst du die Bilder manuell einfügen:

  1. Gehe zu Einfügen > Bilder.
  2. Wähle das Bild aus und klicke auf Einfügen.
  3. Nach dem Einfügen kannst du das Bild mit der Maus ziehen, um es an die gewünschte Stelle zu bewegen.

Diese Methode erfordert mehr manuellen Aufwand, ist jedoch einfacher für Benutzer, die mit VBA nicht vertraut sind.


Praktische Beispiele

Ein häufiges Szenario ist das Einfügen von Produktbildern:

  • Fall 1: Du hast 13 Bilder, die du in eine Excel-Datei einbinden möchtest.
  • Fall 2: Du möchtest, dass beim Einfügen der Bilder die Größe angepasst wird, um die Dateigröße zu minimieren.

Hier ist ein Beispiel, um die Größe der Bilder automatisch anzupassen:

Public Sub BeispielMitGrößenanpassung()
    Dim objShape As Shape
    Dim objWorksheet As Worksheet
    For Each objWorksheet In ThisWorkbook.Worksheets
        For Each objShape In objWorksheet.Shapes
            If objShape.Type = msoLinkedPicture Then
                Call objShape.CopyPicture(Appearance:=xlScreen, Format:=xlPicture)
                Set objShape = objWorksheet.Paste(Destination:=objShape.TopLeftCell, Link:=False)
                objShape.LockAspectRatio = msoTrue
                objShape.Width = 100 ' Beispielbreite in Punkten
                Call objShape.Delete
            End If
        Next
    Next
End Sub

Tipps für Profis

  • Makros optimieren: Füge eine Speicherfunktion ein, um die Arbeit zu sichern, während das Makro läuft. Das kann nützlich sein, wenn du viele Bilder bearbeitest.

  • Bilder komprimieren: Nutze die Funktion „Bilder komprimieren“ in Excel, um die Dateigröße zu reduzieren, nachdem du die Bilder eingebettet hast.

  • Verknüpfte Grafiken: Achte darauf, dass du die richtigen Einstellungen für verknüpfte Grafiken verwendest, um sicherzustellen, dass die Bilder auch ohne externe Pfade funktionieren.


FAQ: Häufige Fragen

1. Wie kann ich die Bilder in Excel komprimieren?
Gehe zu Datei > Bilder komprimieren und wähle die gewünschten Optionen aus.

2. Gibt es eine Möglichkeit, die Bilder automatisch in eine bestimmte Größe zu setzen?
Ja, du kannst den VBA-Code anpassen, um die Breite und Höhe der Bilder nach dem Einfügen festzulegen.

3. Was mache ich, wenn die Bilder nicht angezeigt werden?
Überprüfe, ob die Bilder korrekt verknüpft sind und ob die Pfade noch gültig sind. Möglicherweise musst du die Verknüpfungen bearbeiten oder die Bilder erneut einfügen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige