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

Forumthread: Bild einfügen ohne Verknüpfung

Bild einfügen ohne Verknüpfung
02.02.2020 17:52:26
Kisska
Hallo zusammen,
ich verwende diesen Code zum Einfügen beliebiger Bilder an beliebiger Stelle, wobei die Größe des Bildes an Zellhöhe angepasst wird:
Sub PictureInsertAndResize()
Dim sPicture As String, pic As Picture
sPicture = Application.GetOpenFilename _
("Pictures (*.gif; *.jpg; *.bmp; *.tif; *.jxr), *.gif; *.jpg; *.bmp; *.tif; *.jxr", _
, "Select Picture to Import")
If sPicture = "False" Then Exit Sub
Set pic = ActiveSheet.Pictures.Insert(sPicture)
With pic
.ShapeRange.LockAspectRatio = msoTrue
.Height = .TopLeftCell.Height
.Placement = xlMoveAndSize
End With
Set pic = Nothing
End Sub
Wie muss der Code angepasst werden, damit das Bild nicht als Verknüpfung eingefügt wird?
In den Foren lese ich, dass dies mit dem Befehl "ActiveSheet.Shapes.AddPicture" geht, aber ich weiß es nicht umzusetzen.
Kann bitte jemand helfen?
Viele Grüße
Kisska
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild einfügen ohne Verknüpfung
02.02.2020 18:12:12
Hajo_Zi
Hallo Kisska,
            ' Einfügen ohne Select von  Bert Körn
' Ausdruck.AddPicture(FileName, Verknüpfung, in Mappe speichern,
' Pos. Links, Pos. Oben, Breite, Höhe)
' erstes Offset Pos. Links 0 Zeilen und eine Spalte nach rechts
' zweites Offset Pos. Oben 0 Zeilen tiefer und 0 Spalten nach rechts
With ActiveSheet.Shapes.AddPicture(StBild, True, True, _
Target.Offset(0, 1).Left, _
Target.Offset(0, 0).Top, DoBreite * DoBildhoehe / DoHohe, DoBildhoehe)
' Makro das bei Klick auf das Bild ausgeführt wird, Makro im mdl_BeiKlick
.OnAction = "Bild_BeiKlick"
.Name = "Pic" & Target              ' Bildname festlegen
End With

Anzeige
klappt nicht
02.02.2020 18:51:42
Kisska
Hallo Hajo,
danke für deinen Vorschlag! Leider funktioniert der Code bei mir nicht, aber dafür klappt die Lösung von Nepumuk.
Viele Grüße
Kisska
AW: Bild einfügen ohne Verknüpfung
02.02.2020 18:13:02
Nepumuk
Hallo Kisska,
teste mal:
Public Sub PictureInsertAndResize()
    Dim sPicture As Variant, pic As Shape
    
    sPicture = Application.GetOpenFilename _
        ("Pictures (*.gif; *.jpg; *.bmp; *.tif; *.jxr), *.gif; *.jpg; *.bmp; *.tif; *.jxr", _
        , "Select Picture to Import")
    
    If sPicture <> False Then
        
        Set pic = ActiveSheet.Shapes.AddPicture(Filename:=sPicture, LinkToFile:=msoFalse, _
            SaveWithDocument:=msoTrue, Left:=Selection.Left, _
            Top:=Selection.Top, Width:=-1, Height:=-1)
        With pic
            .LockAspectRatio = msoTrue
            .Height = .TopLeftCell.Height
            .Placement = xlMoveAndSize
        End With
        Set pic = Nothing
    End If
End Sub

Gruß
Nepumuk
Anzeige
super!
02.02.2020 18:43:11
Kisska
Hallo Nepumuk,
herzlichen Dank, es funktioniert perfekt!
Viele Grüße
Kisska
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Bilder in Excel einfügen ohne Verknüpfung


Schritt-für-Schritt-Anleitung

Um ein Bild in Excel einzufügen, ohne eine Verknüpfung zu erstellen, kannst Du den folgenden VBA-Code verwenden. Dieser Code ermöglicht es, ein Bild auszuwählen und es an der gewünschten Stelle in der Excel-Tabelle einzufügen. Zudem wird die Größe des Bildes an die Zellhöhe angepasst.

  1. Öffne Excel und drücke Alt + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject", dann "Einfügen" und "Modul".
  3. Kopiere den folgenden Code in das Modul:
Public Sub PictureInsertAndResize()
    Dim sPicture As Variant, pic As Shape
    sPicture = Application.GetOpenFilename("Pictures (*.gif; *.jpg; *.bmp; *.tif; *.jxr), *.gif; *.jpg; *.bmp; *.tif; *.jxr", , "Select Picture to Import")

    If sPicture <> False Then
        Set pic = ActiveSheet.Shapes.AddPicture(Filename:=sPicture, LinkToFile:=msoFalse, _
            SaveWithDocument:=msoTrue, Left:=Selection.Left, Top:=Selection.Top, Width:=-1, Height:=-1)
        With pic
            .LockAspectRatio = msoTrue
            .Height = .TopLeftCell.Height
            .Placement = xlMoveAndSize
        End With
        Set pic = Nothing
    End If
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Wähle die Zelle aus, an der das Bild eingefügt werden soll, und führe das Makro aus (Alt + F8, dann wähle PictureInsertAndResize und klicke auf "Ausführen").

Häufige Fehler und Lösungen

  • Problem: Das Bild wird als Verknüpfung eingefügt.

    • Lösung: Stelle sicher, dass Du im Code LinkToFile:=msoFalse verwendest, um das Bild ohne Verknüpfung einzufügen.
  • Problem: Das Bild wird nicht an der gewünschten Stelle eingefügt.

    • Lösung: Überprüfe die Left und Top Parameter im Code. Stelle sicher, dass die Selection korrekt ist.

Alternative Methoden

Eine andere Möglichkeit, Bilder in Excel einzufügen, besteht darin, die Einfügen-Funktion in der Excel-Oberfläche zu verwenden:

  1. Gehe zu dem Tab "Einfügen".
  2. Klicke auf "Bilder".
  3. Wähle das Bild aus und klicke auf "Einfügen".

Diese Methode erstellt standardmäßig eine Verknüpfung, wenn Du nicht darauf achtest. Um dies zu vermeiden, kannst Du die oben beschriebene VBA-Option verwenden.


Praktische Beispiele

  • Um ein JPG in Excel einzufügen, kannst Du die oben genannten Schritte befolgen. Achte darauf, dass das Bildformat im Dialogfeld "Öffnen" angezeigt wird.
  • Wenn Du ein Excel-Diagramm in Word einfügen ohne Verknüpfung möchtest, kannst Du das Diagramm kopieren und dann in Word als Bild einfügen (Rechtsklick > Einfügen > Bild).

Tipps für Profis

  • Verwende die .LockAspectRatio-Eigenschaft, um das Seitenverhältnis des Bildes beizubehalten, während Du die Größe anpasst.
  • Überlege, ob Du mit weiteren Formaten wie BMP oder TIFF arbeiten möchtest, um die Flexibilität beim Bilder einfügen zu erhöhen.
  • Wenn Du regelmäßig Bilder einfügen musst, erwäge das Erstellen eines eigenen Excel-Add-Ins, das diesen Prozess automatisiert.

FAQ: Häufige Fragen

1. Wie füge ich mehrere Bilder gleichzeitig ein? Um mehrere Bilder gleichzeitig einzufügen, musst Du den Code anpassen, um eine Schleife zu implementieren, die alle ausgewählten Bilder durchläuft.

2. Funktioniert dieser Code in allen Excel-Versionen? Der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, insbesondere in Excel 2010 und später.

3. Kann ich auch andere Bildformate einfügen? Ja, Du kannst verschiedene Bildformate wie GIF, BMP, TIF und JPG einfügen, solange sie im Dialogfeld "Öffnen" angezeigt werden.

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