Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Bilder automatisch in Excel einfügen





Frage

Ich besitze eine Exceltabelle mit 3000 Zeilen und ich besitze 3000 Bilder. In der Exceltabelle ist in jeder Zeile die Artikelnummer des entsprechenden Artikels angeführt. Die Bilder befinden sich in einem Ordner sind im JPG - Format und wie die Artikelnummer benannt. Gibt es eine Möglichkeit die Bilder automatisch an die richtige Stelle im Excel-Dokument einzufügen ? Ich habe eigentlich keine Ahnung von Makros und VB. Falls es da eine Möglichkeit gibt, wäre eine besonders umfangreiche Beschreibung super. Vielen Dank im Voraus Andreas

Antwort 1 von coros

Hi Andreas,

kopiere nachfolgendes Makro in ein StandardModul und starte es über eine Befehlsschaltfläche.

Option Explicit

Sub Bilder_einfügen()
Dim Pfad As String, Wiederholungen As Long
Pfad = "C:\"
For Wiederholungen = 2 To Range("A65536").End(xlUp).Row
Cells(Wiederholungen, 3).Activate
ActiveSheet.Pictures.Insert(Pfad & Cells(Wiederholungen, 1) & ".jpg").Select
Next
End Sub

Durch eine Schleife wird der Name aus Spalte A ausgelesen und das passenden Bild in Spalte C eingefügt. Allerdings vermute ich mal, dass man bei Deinen Bildern, die Du einfügen möchtest, auch noch etwas an der Größe beim Einfügen ändern muss, da die Bilder mit aller Wahrscheinlichkeit zu groß für die Zelle sein werden. Aber teste erst mal das Makro und dann sehen wir weiter. Du musst allerdings noch in dem Makro in der Zeile

Pfad = "C:\"

den Pfad eintragen, wo Deine Bilder liegen. Stehen Deine Artikelnamen, welche ja auch gleich die Bildernamen sind in einer anderen Spalte als A, dann musst Du in dem Makro in der Zeile

For Wiederholungen = 2 To Range("A65536").End(xlUp).Row

eine andere Spaltenbezeichnung angeben.

Ich hoffe, Du kommst klar. Bei Fragen melde Dich.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von awittemann

Hallo Oliver,

das ist ja der Hit. Klappt alles super.

Einziges Problem ist noch, dass er hängen bleibt und debuggen will, wenn mal eine Leerzeile oder eine Artikelnummer ohne Bild drin ist.

Gibt es eine Möglichkeit, dass das Script Zeilen, die es nicht zuordnen kann einfach überspringt ?

P.S. Deine Homepage ist der Hammer, da werde ich mich jetzt sowieso mal durcharbeiten!

Grüße

Andreas

Antwort 3 von coros

Hi Andreas,

mit nachfolgendem Makro funktioniert es sicherlich besser.

Option Explicit

Sub Bilder_einfügen()
Dim Pfad As String, Wiederholungen As Long
On Error Resume Next
Pfad = "C:\"
For Wiederholungen = 2 To Range("A65536").End(xlUp).Row
Cells(Wiederholungen, 3).Activate
ActiveSheet.Pictures.Insert(Pfad & Cells(Wiederholungen, 1) & ".jpg").Select
Next
End Sub


Ist eigentlich das gleiche Makro nur dass dort der Befehl "On Error Resume Next" eingearbeitet ist, der nichts weiter macht, als bei einem Fehler diesen zu überspringen.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.