Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Bilder über Makro einfügen
#1
Hallo Liebe Leute,

ich habe folgendes Problem. Ich habe in Excel eine Liste. Dort sollen in Spalte A Bilder eingefügt werden. Der Bild Pfad steht in Spalte B. Jetzt sollen alle Bilder per Button eingefügt werden über den Bild Pfad.

Dazu habe ich mir schon irgendwie folgenden Makro zusammen gebastelt. 


Code:
Sub Bilder_einfügen()
Dim Pfad As String
Dim strDatnam As String
Dim Wiederholungen As Long
Dim Bildbreite As Long
Dim Bildhöhe As Long
Dim meinBild
Dim maxBildhöhe As Long

'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

End Sub

Aber es funktioniert irgendwie nicht und ich weiß nicht warum. Vielleicht kann mir ja helfen.

Vielen Dank
Antworten Top
#2
Hi,

du musst Beeblebrox auf 42 setzen und darfst dein Handtuch nicht vergessen.

Don't panic!
derHöpp

Und im Ernst: mit deiner Fehlerbeschreibung lässt sich nichts anfangen.
Antworten Top
#3
Hallo Bscholz1510,

im Beispiel noch mit Zusatz-Makro Bild Klein, Groß, Klein.
Ich füge alle vorhandenen Bilder in die Spalte A ein, bei klick auf das Bild wird es vergrößert, auf das angegebene Maß im 2. Makro.

Die Bilder werden immer innerhalb der Zellen der Spalte A eingepasst.
Bei klick auf das Bild, wird dies am oberen Tabellenrand vergrößert angezeigt und beim klick auf das große Bild, wird dieses Bild, wieder in die Ausgangszelle eingepasst.

Du kannst dir die benötigten Daten auch aus der Musterdatei entnehmen und in dein Makro einfügen.

Hallo Bscholz1510,

auch in den Excel-Optionen, deine Bildqualität anpassen.
Eine der Einstellungen, beide Einstellungen funktionieren auch, Häkchen und 330 ppi


Angehängte Dateien Thumbnail(s)
   

.xlsm   Dateinamen in Spalte B und Bilder in Spalte A einfügen und in Zellen einpassen Musterdatei.xlsm (Größe: 27,76 KB / Downloads: 2)
Gruß Karl
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste