Hallo Zusammen,
ich habe eine Frage zu automatischen Einfügen von Bildern, dabei bin ich auf unten kopierten Austausch gestoßen. Ich habe genau die gleiche Anfrage, allerdings mit dem Zusatz, dass die eingefügten Bilder bestimmte Höhen- und Breitenabmessungen haben sollen. Diese Abmessungen sind ebenfalls in der Excel hinterlegt. Während also die Artikel-Nr (zb. ZE1909) in Spalte A steht, steht de Höhe (in mm) in Spalte D, die Breite (ebenfalls in mm) in Spalte E.
Ich bedanke mich für alle Antworten im Voraus recht herzlich - ich selbst habe, ähnlich dem Kollegen in der zitierten Anfrage, kaum Ahnung von Makros.
Gruß
Daniel
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