Mit Makro Bilder automatisiert aus einem Ordner einfügen?

RAMSoße

Lt. Commander
Registriert
März 2018
Beiträge
1.763
Hallo Zusammen

Vielleicht habe ich das schon mal gepostet (finde es aber nicht mehr) und ich habe ein Alzheimer-Déjàvu.

Im Netz habe ich folgenden Makro Code gefunden, mit dessen Hilfe ich, Bilder automatisiert aus einem Ordner in eine Excell-Tabelle einfügen lassen möchte:

Code:
Sub InsertPics()
    Dim Rw&, PFAD$, Datei$, Bild As Shape
    PFAD = "C:\Users\<User>\Desktop\Makro Test\Bilder"
    With ActiveSheet
        For Rw = 2 To 10
            Datei = .Range("C" & Rw) & ".jpg"
            If Dir(PFAD & Datei) <> vbNullString Then
                .Pictures.Insert (PFAD & Datei)
                Set Bild = .Shapes(.Shapes.Count)
                Bild.LockAspectRatio = msoFalse
                Bild.Left = .Range("A" & Rw).Left
                Bild.Top = .Range("A" & Rw).Top
                Bild.Width = .Range("A" & Rw).Width
                Bild.Height = .Range("A" & Rw).Height
            End If
        Next
    End With
End Sub

Die Bilder haben unterschiedliche Namen. Passieren tut leider nichts. Makros sind aktiv bzw. scharf geschalten :D

Vielen Dank und eine schöne Woche
 
In Deiner Excel Datei stehen in Spalte C, Zeile 2 bis 10 die Dateinamen (ohne .jpg) welche Du einfügen möchtest?
Die Bilder befinden sich im Ordner "C:\Users\<User>\Desktop\Makro Test\Bilder"?
<Users> hast Du in Deinem Code mit Deinem Usernamen ersetzt?
 
@Stonerrock

hallo. Danke für deine Anwort

1. Ich kenne mich kaum aus damit. Die Datei Namen, sollte er "ignorieren bzw. ich möchte nicht alle einzeln angeben. Er soll einfach die, die im Ordner liegen einfügen.

2. Das ist als Platzhalter zu verstehen. Der Pfad stimmt auf jedenfall.
 
Das Makro geht von (rein zufällig) 9 Bildern aus deren Name in Spalte C weilt.
Diese Bilder dürften gewisse Größen (mehr Höhen), haben - was die Breit angeht frage ich das Eine und Andere.

Dann hat der Makroschreiber die Spalte A auf eine genhme Breite eingestellt und auch die Höhe der Zeilen 2 bis 10 (gleich oder unterschiedlich)

Das Bild wir als Shape-Objekt erfasst und anhand seiner neuen laufenden Nummer behandelt.
Ihm werden die Maße und Positionen der zugehörigen Zelle (also beim ersten A2) zugewieden: Oben/Links und dann Zellenbreite sowie Zellenhöhe.

Damit sollte das erste Bild passgenau (LockAspectRatio) in Zelle A2 hieninskaliert werden. (Das müsste aber optimal passen sonst kommt Augenkrebs bei raus).

Lass da Makro doch mal mit F8 schrittweise laufen.

Es könnte bereites hier knallen: PFAD & Datei - PFAD endet nicht mit einem \ ("C:\Users\<User>\Desktop\Makro Test\Bilder") weswegen da venutlich kein gültiger, vollständiger Dateiname zustande kommt. also zuerst mal hier ändern: "C:\Users\<User>\Desktop\Makro Test\Bilder\"

CN8
 
Zurück
Oben