Anzeige
Archiv - Navigation
1956to1960
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bilder aus Dateipfad einfügen via Makro

Bilder aus Dateipfad einfügen via Makro
05.12.2023 10:45:01
Benjamin321
Hallo Zusammen,

vorab: Ja, ich hab die Suche und google inkl. chatgpt bemüht und nichts funktionierendes für mich gefunden.

Ich hab eine Excelliste, die sich immer wieder erweitert. Darin möchte ich zu den einzelnen Produkten über Artikelcode Bilder in eine Zelle einfügen.
D.h. Pfad setzt sich zusammen aus Ordner-Pfad, den der User z.B. in Zelle B1 eingibt + Artikelnummer aus Zelle + Endung (.jpg oder .png oder .jpeg)
Die Bildtypen variieren

D.h. wenn sich die Datei um neue Artikel erweitert, gibt der Anwender nur den Pfad ein, in dem er die Bilder hat und drückt dann einen Button.

ganz schön wäre es noch, wenn ein größeres Vorschaubild angezeigt wird, wenn der User mit der Maus übers Bild fährt. Hatte ich in irgendeinem Makro mal gefunden.


Ein zweiter Code wäre noch super (evtl. neuer Thread) bei dem der Anwender die Zeilenhöhe eingibt und über einen Button diese Vergrößern oder verkleinern kann, zur besseren Darstellung der Bilder.

Hier mein aktueller Code:
Sub Bilder_einfügen()

Dim Pfad As String, Wiederholungen As Long
On Error Resume Next
Pfad = "C:\Bilder\" 'Pfad soll dann aus Zelle z.B. B1 ausgelesen werden
For Wiederholungen = 2 To Range("A65536").End(xlUp).Row
Cells(Wiederholungen, 2).Activate
Selection.InsertPictureInCell(Pfad & Cells(Wiederholungen, 1) & ".png").Select 'hier auch auf .jpg überprüfen. Aktuell gibt es Fehlermeldung wenn nichts vorhanden
Next
End Sub



Vielen Dank schon mal

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

Betreff
Datum
Anwender
Anzeige
AW: Bilder aus Dateipfad einfügen via Makro
05.12.2023 12:46:49
Yal
Hallo Benjamin,

ich denke, Du kannst sehr viel erreichen, in dem du den Makrorekorder laufen lässt und die Aktion per Maus durchführt. Der Kunst wird sein, die Codeschnipsel zusammenzubringen. Einfach probieren, und wenn es klemmt hier fragen.

Hintergrund ist, dass ich sehr wenig mit Bilder mache und selber alles mit dem Makrorekorder machen müsste, um es Dir zu übegeben. Ich denke, es ist viel mehr Wert, wenn Du die Erfahrung selber sammelst.

VG
Yal
AW: Bilder aus Dateipfad einfügen via Makro
05.12.2023 12:53:19
Benjamin321
Hallo Yal,

genau das mach ich schon. Allerdings geht es eben um genau die Variablen Bildtypen und, dass er es mir den Pfad aus einer Zelle nimmt. Hier scheitere ich bisher. Hätt ich es nicht schon über verschiedene Wege versucht, wäre hier kein Eintrag.

Genauso mit der Zellhöhe. Diese bekomme ich hin. Ergänzend wäre nur, auch nur bis zur letzten Zeile, in der was steht

Sub Zeilenhoehe_Festlegen()

Rows("2:10").RowHeight = Range("C1").Value 'Zeile 10 soll dynamisch sein mit z.B. Rows.Count
End Sub


Anzeige
AW: Bilder aus Dateipfad einfügen via Makro
05.12.2023 13:37:40
Yal
ach so, ja, jetzt verstanden.

Sub Bilder_einfügen()

Dim Z As Long
Dim Datei As String
Const Pfad = "C:\Bilder\" 'Pfad soll dann aus Zelle z.B. B1 ausgelesen werden

On Error Resume Next
For Each Z In Range(Range("A2"), Range("A65536").End(xlUp))
Datei = Dir(Pfad & Z.Value & ".*")
If Datei > "" Then Z.InsertPictureInCell (Pfad & Datei)
Next
End Sub


VG
Yal
AW: Bilder aus Dateipfad einfügen via Makro
05.12.2023 15:18:26
Benjamin321
Danke für die Mühe. leider passiert jetzt noch weniger was ich will. Es wird immer nur das gleiche Bild in die gerade ausgewählte Zelle eingefügt.



Pfad aus B1 konnte ich lösen, allerdings nicht unterschiedliche Dateiformate (jpg, png)
Bei meiner Lösung funktioniert der * nicht

Ein Lösungsansatz der mir auch helfen würde, währe, wenn er bei einem Fehler einfach durchläuft und nicht meldet, dass er einen Fehler hat / Datei nicht findet. Dann könnte ich mehrere Buttons erstellen (für jpg und für png)


Sub Bilder_einfügen()

Dim Pfad As String, Wiederholungen As Long

On Error Resume Next
Pfad = Range("B1")
For Wiederholungen = 3 To Range("A65536").End(xlUp).Row
Cells(Wiederholungen, 2).Activate
Selection.InsertPictureInCell(Pfad & Cells(Wiederholungen, 1) & ".jpg").Select
Next
End Sub
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige