AW: Bilder in Zellen einfügen
18.12.2013 10:36:33
Beverly
Hi Dirk,
versuche es mal auf diesem Weg:
Sub BilderEinfuegen()
Const strPfad As String = "D:\Test\"
Dim lngZeile As Long
Dim bytZaehler As Byte
Dim arrBilder
For lngZeile = 8 To IIf(IsEmpty(Cells(Rows.Count, 6)), _
Cells(Rows.Count, 6).End(xlUp).Row, Rows.Count)
If Cells(lngZeile, 6) "" Then
If InStr(Cells(lngZeile, 6), ",") > 0 Then
arrBilder = Split(Cells(lngZeile, 6).Value, ",")
Else
ReDim arrBilder(0)
arrBilder(0) = Cells(lngZeile, 6)
End If
For bytZaehler = 0 To UBound(arrBilder)
If Dir(strPfad & arrBilder(bytZaehler) & ".jpg") "" Then
ActiveSheet.Pictures.Insert (strPfad & arrBilder(bytZaehler) & ".jpg")
If bytZaehler = 0 Then
With ActiveSheet.Pictures(ActiveSheet.Pictures.Count)
.Top = Cells(lngZeile, 6).Top
.Left = Cells(lngZeile, 6).Left
.Height = Cells(lngZeile, 6).Height
End With
Else
With ActiveSheet.Pictures(ActiveSheet.Pictures.Count)
.Top = Cells(lngZeile, 6).Top
.Left = ActiveSheet.Pictures(ActiveSheet.Pictures.Count - 1).Left + _
ActiveSheet.Pictures(ActiveSheet.Pictures.Count - 1).Width
.Height = Cells(lngZeile, 6).Height
End With
End If
End If
Next bytZaehler
End If
Next lngZeile
End Sub
Den Speicherpfad der Bilder musst du natürlich deinen Bedingungen entsprechend ändern.
Das Anpassen der eingefügten Bilder an die Zeilenhöhe habe ich mal auskommentiert, das ich nicht weiß, ob du das benötigst.