Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1612to1616
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

Per Makro Bilder aus Ordner in Excel einfügen

Per Makro Bilder aus Ordner in Excel einfügen
21.03.2018 10:18:06
gigi
Hallo zusammen,
ich habe ein Problem in Excel, welches ich auch durch diverse VBA-Makros aus dem Netz nicht lösen kann:
Ich möchte in der Spalte A eines Tabellenblattes über ein Makro ein JPG einfügen lassen, welches durch eine immer 9-stellige Artikelnummer (z.B. 00501-0165) in der Spalte D des selben Blattes ausgelesen wird. Die Bilder in dem Order sind alles JPGs und haben die selbe Bezeichnung wie die Artikelnummer in der Spalte D. Wenn ein Bild nicht gefunden wird, soll das Makro diese Zeile einfach überspringen. Die Bilder liegen unter folgendem Pfad ab: C:\Users\arno01\Desktop\Onboarding\PICTURES
Aktuell benutze ich folgenden Code, allerdings bekomme ich die Meldung: "Run-time error '1004': Unable to get the Insert property of the Pictures Class"
Sub InsertPics()
'Loop through Rows 1 - 4
For rw = 1 To 4
'Insert jpg into based on string in Column D
'(Enter the correct path below)
ActiveSheet.Pictures.Insert _
("C:\Users\arno01\Desktop\Onboarding\PICTURES" _
& Range("D" & rw) & ".jpg").Select
'Position and size image
With ActiveSheet.Shapes(Selection.Name)
.Left = ActiveSheet.Cells(rw, 1).Left
.Top = ActiveSheet.Cells(rw, 1).Top
.ScaleWidth 0.2, msoFalse, msoScaleFromTopLeft
.ScaleHeight 0.2, msoFalse, msoScaleFromTopLeft
End With
Next
End Sub


7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Per Makro Bilder aus Ordner in Excel einfügen
21.03.2018 10:27:13
Michael
Hallo!
Bevor ich Dir neuen Code schreibe: Im von Dir geposteten Code fehlt beim Hauptpfad nur ein schließender "\". Also...
ActiveSheet.Pictures.Insert _
("C:\Users\arno01\Desktop\Onboarding\PICTURES" & "\"_
& Range("D" & rw) & ".jpg").Select
LG
Michael
AW: Per Makro Bilder aus Ordner in Excel einfügen
21.03.2018 11:52:28
gigi
Hey Michael,
Danke schon mal für den super Tipp. Die Bilder werden jetzt eingefügt, allerdings habe ich noch folgende 2 Probleme. Wäre sehr dankbar wenn du hierfür auch einen Tipp hättest.
1) Falls ein Bild nicht gefunden wird zb. in Zeile 10, dann hört das Macro auf zu suchen, obwohl danach noch weitere Zeilen mit Productcodes folgen. Ich würde es aber gerne so haben, dass es einfach die Zeile überspringt und die darauffolgenden Productcodes abgleicht.
2) Gibt es eine Möglichkeit das Macro so zu schreiben, dass es die Bilder passend zur Spaltenhöhe und Spaltenbreite einfügt ? (diese sind nämlich in Spalte A wo die Bilder eingefügt werden nach bestimmten Maßen fixiert) Die Bilder aus dem Ursprungsordner sind nämlich untershiedlich groß abgespeichtert und dementsprechend fügt das Macro die Bilder auch ein.
Hier nochmal der aktuelle Code:
Sub InsertPics()
'Loop through Rows 2 - 100
For rw = 2 To 100
'Insert jpg into based on string in Column C
'(Enter the correct path below)
ActiveSheet.Pictures.Insert _
("C:\Users\arno01\Desktop\Onboarding\PICTURES\" _
& Range("C" & rw) & ".jpg").Select
'Position and size image
With ActiveSheet.Shapes(Selection.Name)
.Left = ActiveSheet.Cells(rw, 1).Left
.Top = ActiveSheet.Cells(rw, 1).Top
.ScaleWidth 0.8, msoFalse, msoScaleFromTopLeft
.ScaleHeight 0.5, msoFalse, msoScaleFromTopLeft
End With
Next
End Sub

Lieben Dank nochmal für die Hilfe:).
Beste Grüße
Gigi
Anzeige
AW: Per Makro Bilder aus Ordner in Excel einfügen
21.03.2018 13:01:35
Michael
Versuch's mal so:
Sub InsertPics()
Dim Rw&, Pfad$, Datei$
Pfad = "C:\Users\arno01\Desktop\Onboarding\PICTURES\"
With ActiveSheet
For Rw = 2 To 100
Datei = .Range("C" & Rw) & ".jpg"
If Dir(Pfad & Datei)  vbNullString Then
.Pictures.Insert (Pfad & Datei)
With .Shapes(.Shapes.Count)
.Left = .Range("A" & Rw).Left
.Top = .Range("A" & Rw).Top
.Width = .Range("A" & Rw).Width
.Height = .Range("A" & Rw).Height
End With
End If
Next
End With
End Sub
LG
Michael
AW: Per Makro Bilder aus Ordner in Excel einfügen
21.03.2018 14:11:49
gigi
Hey Micha,
der von dir vorgeschlagene Code fügt jetzt nur noch das erste Bild ein, sprich liest nur die erste Zeile und danach hört es auch. Zudem wird das Bild nicht in Spalte A eingefügt und auch nicht in der fixierten Höhe und Weite der Spalte.
Kann man da vllt. noch was machen?
Lieben Dank
Gigi
Anzeige
AW: Per Makro Bilder aus Ordner in Excel einfügen
21.03.2018 17:08:01
Michael
Hallo!
Kann man da vllt. noch was machen?
Ich schon :->... Im Ernst: .Shapes mag die With-Klammer nicht, daher besser so:
Sub InsertPics()
Dim Rw&, PFAD$, Datei$, Bild As Shape
PFAD = "U:\Test\"
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
LG
Michael
Anzeige
AW: Per Makro Bilder aus Ordner in Excel einfügen
22.03.2018 09:17:14
gigi
Hallo Michael,
du bist der Wahnsinn. Funktioniert alles genau so wie ich es wollte :).
Riesen Dank mein Lieber.
Beste Grüße
Gigi
Gern, Danke für die Rückmeldung! owT
22.03.2018 09:55:45
Michael

63 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige