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

Forumthread: Grafik aus anderer Arbeitsmappe kopieren

Grafik aus anderer Arbeitsmappe kopieren
18.05.2021 19:22:22
Sebastian
Hallo Profis,
mal so eine kleine Frage. Ich versuche eine Grafik aus der geschlossenen Datei "c:\bilder.xlsx" in die geöffnetet Tabelle c:\test.xlsm zu kopieren.
Habe es mal mit dem Macrorecorder versucht, das geht auch.
Nur würde ich gerne wissen ob es möglich ist diese Grafik1 aus "bilder.xlsx" direkt in Grafik1 in test.xlsm zu kopieren ohne die bilder.xlsx zu öffnen. Beide Bilder sind jeweils im Sheet Tabelle1.
Ich habe es versucht, komme aber gar nicht weiter :-(
Vielen Dank für Hilfe
Grüße
Sebastian
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Grafik aus anderer Arbeitsmappe kopieren
18.05.2021 19:29:56
Beverly
Hi Sebastian,
aus einer geschlossenen Mappe kannst du kein Bild kopieren.
Wenn du das per VBA machst, kannst du die Bildschirmaktualisierung ausschalten, sodass die Mappe im Hintergrund geöffnet (und wieder geschlossen) wird und man dies gar nicht mitbekommt.

GrußformelBeverly's Excel - Inn
Anzeige
AW: Grafik aus anderer Arbeitsmappe kopieren
18.05.2021 19:59:29
Sebastian
Ok das habe ich mir schon gedacht - Die Tabelle ist nur ganz schön groß :-) Dann muss ich es mal mit Application.ScreenUpdating versuchen.
Hat jemand noch einen Rat wie ich das Bild aus dem ActiveSheet.Shapes("Beispiel").CopyPicture aus bilder.xlsx in das Bild ActiveSheet.Shapes("Bild1").Picture in test.xlsm kopieren kann. Ich möchte nicht immer über einfügen ein neues Bild erzeugen, sondern möchte immer das eine Bild1 wechseln.
Vielen Dank und viele Grüße
Sebastian
Anzeige
AW: Grafik aus anderer Arbeitsmappe kopieren
18.05.2021 20:25:18
Beverly
Lösche das zuvor eingefügte Bild bevor du das neue einfügst: Activesheet.Shapes(Activesheet.Shapes.Count).Delete löscht immer das zuletzt eingefügte Shape.
Du kannst dem eingefügten Bild auch einen Namen geben, sodass du zielgerichtet dieses Bild/Shape löschen kannst.

GrußformelBeverly's Excel - Inn
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Grafik aus einer anderen Arbeitsmappe kopieren


Schritt-für-Schritt-Anleitung

Um eine Grafik aus einer geschlossenen Excel-Arbeitsmappe in eine andere zu kopieren, kannst Du VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie Du dabei vorgehst:

  1. Öffne Deine Zielarbeitsmappe (z.B. test.xlsm).

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

  3. Füge ein neues Modul hinzu:

    • Rechtsklick auf VBAProject (test.xlsm) > Einfügen > Modul.
  4. Kopiere den folgenden VBA-Code in das Modul:

    Sub GrafikKopieren()
       Dim wb As Workbook
       Dim ws As Worksheet
    
       ' Arbeitsmappe öffnen
       Set wb = Workbooks.Open("C:\bilder.xlsx", ReadOnly:=True)
       Set ws = wb.Sheets("Tabelle1")
    
       ' Grafik kopieren
       ws.Shapes("Grafik1").CopyPicture
    
       ' Zielarbeitsmappe aktivieren
       ThisWorkbook.Activate
       ThisWorkbook.Sheets("Tabelle1").Activate
    
       ' Altes Bild löschen (optional)
       On Error Resume Next
       ActiveSheet.Shapes("Bild1").Delete
       On Error GoTo 0
    
       ' Neues Bild einfügen
       ActiveSheet.Paste
    
       ' Arbeitsmappe schließen
       wb.Close SaveChanges:=False
    End Sub
  5. Schließe den VBA-Editor und führe das Makro aus, indem Du ALT + F8 drückst und auf GrafikKopieren klickst.


Häufige Fehler und Lösungen

  • Fehler: "Shape nicht gefunden"

    • Lösung: Überprüfe, ob der Name des Shapes in der Quelle und im Ziel korrekt ist. Achte auf Groß- und Kleinschreibung.
  • Fehler: "Datei nicht gefunden"

    • Lösung: Stelle sicher, dass der Pfad zur Arbeitsmappe korrekt ist und dass die Datei nicht umbenannt oder verschoben wurde.
  • Fehler: "Zugriff verweigert"

    • Lösung: Stelle sicher, dass die Datei nicht schreibgeschützt ist und dass Du über die entsprechenden Berechtigungen verfügst.

Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, gibt es auch alternative Methoden, um Grafiken zu kopieren:

  1. Manuelles Kopieren:

    • Öffne beide Arbeitsmappen. Kopiere die Grafik in bilder.xlsx mit STRG + C und füge sie in test.xlsm mit STRG + V ein.
  2. Screenshot-Methode:

    • Mache einen Screenshot der Grafik und füge diesen in Deine Zielarbeitsmappe ein. Dies ist zwar nicht ideal, kann aber in Eile hilfreich sein.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du die obigen Methoden anwenden kannst:

  • Grafik aus einer geschlossenen Arbeitsmappe kopieren:

    • Verwende den bereitgestellten VBA-Code, um eine Grafik aus c:\bilder.xlsx in c:\test.xlsm zu kopieren.
  • Grafik manuell kopieren:

    • Öffne bilder.xlsx, klicke mit der rechten Maustaste auf die Grafik und wähle Kopieren. Wechsle zu test.xlsm, klicke mit der rechten Maustaste und wähle Einfügen.

Tipps für Profis

  • Namen von Shapes anpassen:
    Benenne Deine Shapes in der Zielarbeitsmappe um, um sie leichter wiederzufinden und zu bearbeiten.

  • Makros automatisieren:
    Wenn Du häufig Grafiken kopieren musst, überlege, das Makro mit einer Schaltfläche in der Arbeitsmappe zu verknüpfen.

  • Optimierung der Bildschirmaktualisierung:
    Verwende Application.ScreenUpdating = False zu Beginn Deines Makros, um die Leistung zu verbessern, und setze es am Ende wieder auf True.


FAQ: Häufige Fragen

1. Kann ich Grafiken aus mehreren Arbeitsmappen gleichzeitig kopieren?
Ja, Du kannst das Makro anpassen, um mehrere Grafiken aus verschiedenen Arbeitsmappen zu kopieren, indem Du mehrere Workbooks.Open-Befehle einfügst.

2. Ist es möglich, die Grafik in eine andere Datei zu kopieren, ohne die Dateien zu öffnen?
Standardmäßig müssen alle Grafiken aus geschlossenen Arbeitsmappen über VBA geöffnet werden, um auf sie zugreifen zu können. Eine direkte Methode ohne Öffnen ist nicht möglich.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige