Hallo M.O.
Danke! Das in Link 1 könnte das richtige Makro sein, habe folgendes
benutzt:
Sub Bilder_einfügen()
Dim Pfad As String
Dim strDatnam As String
Dim Wiederholungen As Long
Dim Bildbreite As Single
Dim Bildhöhe As Single
Dim meinBild
Dim maxBildhöhe As Single
Dim Bild As Shape
Dim Zelle As Range
'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = False
'Pfad anpassen
Pfad = "C:\Test\"
'Spalte B ab Zeile 2 durchlaufen
For Wiederholungen = 2 To ActiveSheet.Cells(Rows.Count,
2).End(xlUp).Row
'Namen der Bilder stehen in Spalte B - ohne Endung; Einlesen in
Variable mit Pfadangaben
strDatnam = Pfad & Cells(Wiederholungen, 2).Value & ".jpg"
'Prüfen, ob Bilddatei im Verzeichnis existiert
If Dir(strDatnam) <> "" Then
'falls ja, dann Bildhöhe und -breite einlesen
Set meinBild = LoadPicture(strDatnam)
Bildbreite = meinBild.Width
Bildhoehe = meinBild.Height
'Bild einfügen, 5 cm Breit - 1 cm = 28,35 pt - und Höhe entsprechend
skaliert
ActiveSheet.Shapes.AddPicture strDatnam, msoFalse, msoTrue,
Cells(Wiederholungen, 1).Left, Cells(Wiederholungen, 1).Top, 141.75,
141.75 * Bildhoehe / Bildbreite
'maximale Bildhöhe ermitteln, für die Anpassung der Zeilenhöhe
If maxBildhöhe < 141.75 * Bildhoehe / Bildbreite Then maxBildhöhe =
141.75 * Bildhoehe / Bildbreite
Else
'falls nein, wird in Spalte A eine Fehlermeldung geschrieben
ActiveSheet.Cells(Wiederholungen, 1) = "Bild nicht gefunden"
End If
Next
'Zeilenhöhe anpassen
Rows("2:" & ActiveSheet.Cells(Rows.Count,
2).End(xlUp).Row).RowHeight = maxBildhöhe + 4
'Spaltenbreite anpassen
Columns("A:A").ColumnWidth = 35
'Alle Bilder im Blatt in Zelle zentrieren
For Each Bild In ActiveSheet.Shapes
With Bild.TopLeftCell
Set Zelle = Cells(.Row, .Column)
End With
Bild.Top = Zelle.Top + (Zelle.Height - Bild.Height) / 2
Bild.Left = Zelle.Left + (Zelle.Width - Bild.Width) / 2
Next
'Bildschirmaktualisierung einschalten:
Application.ScreenUpdating = True
End Sub
Habe jetzt einfach die Namen der Bilder in Spalte B gemacht und meinen
Pfad eingefügt, das passt also.
Zum allerersten Mal ist überhaupt etwas passiert bei meinem
CommandButton - leider aber nur in Spalte A überall "Bild nicht
gefunden"
Meine Bilder haben auch unterschiedliche Formate und können in Spalte
A sein. Gerne dürften sie auch etwas größer in der Tabelle sein, vllt so 8-
10 cm hoch.
Und meine Bildnamen heißen jeweils mit ".jpg" am Ende, habe das zum
Test ein paar mal gelöscht, aber auch an diesen Stellen funktioniert es
nicht und es erscheint "Bild nicht gefunden". Damit ich das nicht überall
löschen muss wäre es besser, das Makro mit ".jpg" zu programmieren.
Was muss ich dazu unter "Namen der Bilder - ohne Endung" genau
löschen?
Ich bin dennoch schon unendlich dankbar!
Liebe Grüße,
Elena