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

Bilder in Exzel einfügen ohne Verknüpfung

Forumthread: Bilder in Exzel einfügen ohne Verknüpfung

Bilder in Exzel einfügen ohne Verknüpfung
29.05.2013 18:19:51
floh
Hallo,
in meiner Tabelle habe ich in Spalte A Pfadangaben für Bilder zu stehen.
Mit nachfolgenden Makro, kann ich jetzt in Spalte B mir die Bilder in der Tabelle anzeigen lassen.
Leider werden die Bilder nur mit einer Verknüpfung hinterlegt ,die ich nachträglich
über Excel nicht aufheben kann. Folglich sind die Bilder in der Datei auf einem anderen PC nicht mehr sichtbar, da der Quellordner fehlt.
Gibt es die Möglichkeit Bilder per VBA auch richtig in die Datei einzufügen ?
Am besten auf Basis des gezeigten Makroabschnitts .
Dim Pfad As String, Wiederholungen As Long
For Wiederholungen = 3 To Range("A500").End(xlUp).Row
If Dir(Cells(Wiederholungen, 1) & ".jpg") "" Then
With ActiveSheet.Pictures.Insert(Cells(Wiederholungen, 1) & ".jpg")
.Height = Cells(Wiederholungen, 2).Height
.Top = Cells(Wiederholungen, 2).Top
.Left = Cells(Wiederholungen, 2).Left
.Width = Cells(Wiederholungen, 2).WidthEnd With
End If
Next
Vielen Dank im Vorraus.
MfG floh

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bilder in Excel einfügen ohne Verknüpfung
29.05.2013 20:46:18
Werner
COOL !
Danke Franz !
Gruss
Werner

AW: Bilder in Exzel einfügen ohne Verknüpfung
30.05.2013 09:44:57
floh
Hallo Franz,
also die Tabelle find ich genial.
Allerdings hätte ich die Bilder gerne gleich immer in der Zelle neben dem Pfad und nicht
in einem separaten Blatt eingefügt.
Soviel ich aus dem Beispiel ersehen / verstehen konnte, ist der entscheidende Befehl
Selection.ShapeRange.Fill.UserPicture
Vielleicht kann mir da jemand noch einmal auf die Sprünge helfen ?
MfG Floh

Anzeige
AW: Bilder in Excel einfügen ohne Verknüpfung
30.05.2013 19:04:37
floh
Hallo,
habe inzwischen versucht den Befehl ActiveSheet.Shapes.AddPicture einzusetzen.
Es werden jetzt auch wirklich die Bilder in Spalte B eingesetzt allerdings immer in Zelle B2
anstatt hinter dem jeweiligen Bildnahmen (Zeile variabel) .
Wie muss ich mein Makro modifizieren ?
Range("B21").Select
Dim Pfad As String
Dim Wiederholungen As Long
Dim oShape As Shape
For Wiederholungen = 21 To Range("A65000").End(xlUp).Row
If Dir(Cells(Wiederholungen, 1) & ".jpg") "" Then
Set oShape = ActiveSheet.Shapes.AddPicture(Cells(Wiederholungen, 1) & ".jpg", _
msoFalse, msoTrue, Cells(21, 2).Left, lTop, 50, 30)
End If
Next
Danke im Vorraus
MfG floh

Anzeige
AW: Bilder in Excel einfügen jetzt mit Vorschau
30.05.2013 20:25:49
Franz
Hallo Floh,
um das Handling MEINER Bilderliste nicht zu erschweren hier eine Alternative.
Tausche die folgende Routine aus. Anstelle eines Kommentars erscheint nun eine Bildvorschau.
Sub Choise_Pictures()
'Source FileDialog :http://www.office-loesung.de
Dim ws As Worksheet
Dim iSheetsCount As Integer
Dim dlgOpen     As FileDialog
Set dlgOpen = Application.FileDialog(msoFileDialogOpen)
With dlgOpen
.AllowMultiSelect = True 'vorher false
.Filters.Clear  'löscht 
.Filters.Add "Images", "*.gif; *.jpg; *.jpeg; *.bmp; *.tif; *.tiff; *.png"
.FilterIndex = 1    '1 " Alle Dateien *.*
.Show
If .SelectedItems.Count = 0 Then
MsgBox ("Sie haben keine Bilddatei(en) ausgewählt!")
End
End If
If_PicList_exists_then_move_it_to_the_end
Set ws = Sheets(PICLIST)
ws.Cells.ClearContents
ws.Cells(1, 1).Formula = " Nr "
ws.Cells(1, 2).Formula = "Adresse und Bildernamen"
ws.Cells(1, 3).Formula = "Kommentare ggf. "
ws.Cells(1, 4).Formula = "Vorschaufenster"
For iPicCount = 1 To .SelectedItems.Count
ws.Cells(iPicCount + 1, 1).Formula = iPicCount
ws.Cells(iPicCount + 1, 2).Formula = .SelectedItems(iPicCount)
ws.Cells(iPicCount + 1, 3).Formula = "Kommentar " & iPicCount
ws.Cells(iPicCount + 1, 4).Select
With ActiveCell
.ClearComments
.AddComment
'.Comment.Text Text:="Optional"
'.Comment.Shape.TextFrame.Characters.Font.Bold = True
.Comment.Shape.TextFrame.AutoSize = True
.Comment.Visible = False
.Comment.Shape.Fill.UserPicture ws.Cells(iPicCount + 1, 2).Formula
.Comment.Shape.Width = 200  '
Tschüss!
Franz D.
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bilder in Exzel einfügen ohne Verknüpfung


Schritt-für-Schritt-Anleitung

Um Bilder in Exzel ohne Verknüpfung einzufügen, kannst du das folgende VBA-Makro verwenden. Das Makro geht davon aus, dass die Pfadangaben der Bilder in Spalte A stehen und die Bilder in Spalte B eingefügt werden sollen.

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (dein Dokument)" > Einfügen > Modul.
  3. Kopiere und füge den folgenden Code in das Modul ein:
Sub BilderEinfügen()
    Dim Pfad As String
    Dim Wiederholungen As Long
    Dim oShape As Shape

    For Wiederholungen = 3 To Range("A500").End(xlUp).Row
        If Dir(Cells(Wiederholungen, 1) & ".jpg") <> "" Then
            Set oShape = ActiveSheet.Shapes.AddPicture(Cells(Wiederholungen, 1) & ".jpg", _
                msoFalse, msoTrue, Cells(Wiederholungen, 2).Left, Cells(Wiederholungen, 2).Top, _
                Cells(Wiederholungen, 2).Width, Cells(Wiederholungen, 2).Height)
        End If
    Next
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu deinem Excel-Dokument.
  2. Führe das Makro aus: ALT + F8, wähle BilderEinfügen und klicke auf "Ausführen".

Häufige Fehler und Lösungen

  1. Bilder werden nicht angezeigt: Stelle sicher, dass die Pfadangaben in Spalte A korrekt sind und die Dateiendung .jpg korrekt angegeben ist.

  2. Bilder erscheinen in der falschen Zelle: Achte darauf, dass du die Position im Makro richtig angibst, indem du Cells(Wiederholungen, 2) verwendest, um sicherzustellen, dass die Bilder in der richtigen Zelle erscheinen.

  3. Fehlermeldung über nicht vorhandene Dateien: Überprüfe die Pfade, um sicherzustellen, dass die angegebenen Bilder tatsächlich existieren.


Alternative Methoden

Wenn du die Bilder nicht durch ein Makro, sondern manuell einfügen möchtest, kannst du die Funktion "Bilder einfügen" in Excel verwenden. Gehe zu "Einfügen" > "Bilder" und wähle die gewünschten Bilder aus.

Eine weitere Möglichkeit besteht darin, die Funktion Selection.ShapeRange.Fill.UserPicture zu verwenden, um Bilder direkt in Zellen zu integrieren. Dies ermöglicht dir, Bilder als Hintergrund in Zellen zu nutzen.


Praktische Beispiele

Hier ein Beispiel, wie du das Makro anpassen kannst, um verschiedene Bildformate zu unterstützen:

If Dir(Cells(Wiederholungen, 1) & ".jpg") <> "" Or _
   Dir(Cells(Wiederholungen, 1) & ".png") <> "" Or _
   Dir(Cells(Wiederholungen, 1) & ".bmp") <> "" Then
    ' Füge hier deinen Code ein, um das Bild einzufügen
End If

Mit dieser Anpassung kannst du Sigma Profilbilder aus verschiedenen Formaten problemlos in deine Tabelle einfügen.


Tipps für Profis

  • Nutze die Funktion With...End With, um den Code effizienter zu gestalten, wenn du mehrere Eigenschaften eines Objekts festlegen musst.
  • Überlege, die Bildgröße dynamisch anzupassen, abhängig von der Zelle, um eine bessere Darstellung zu erzielen.
  • Achte darauf, dass die Bilder nicht zu groß sind, um die Dateigröße deiner Excel-Datei gering zu halten.

FAQ: Häufige Fragen

1. Kann ich auch andere Bildformate einfügen?
Ja, du kannst das Makro anpassen, um verschiedene Formate wie PNG oder BMP zu unterstützen, indem du die entsprechenden Bedingungen hinzufügst.

2. Wie kann ich die Bilder zentrieren?
Um die Bilder zu zentrieren, kannst du die Position des Bildes nach dem Einfügen anpassen, indem du die Left und Top Eigenschaften entsprechend änderst.

3. Was muss ich tun, wenn ich mehrere Bilder gleichzeitig einfügen möchte?
Du kannst das Makro so anpassen, dass es eine Schleife über alle gewünschten Bilder macht und diese nacheinander in die Tabelle einfügt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige