Hallo zusammen,
über folgenden VBA Code gelingt es mir, in Spalte C Bilder einzulesen, die über die URL in Spalte D ermittelt werden. Wenn eine URL fehlerhaft ist und dort kein Bild hinterlegt ist, bekomme ich die Fehlermeldung: "Laufzeitfehler 1004, Die Insert-Eigenschaft des Pictures-Objektes kann nicht zugeordnet werden". Ich hätte gerne, dass der Code dann einfach kein Bild einfügt und die nächste Zeile der Tabelle bearbeitet.
Hat jemand eine Idee, wie ich das lösen kann?
VG Lea
Sub Bilder()
'Variable für URL deklarieren
Dim url
Dim S As Shape, P As Picture
With Sheets("Tabelle1")
'Fehlerbehandlung aus falls Bild nicht da
On Error Resume Next
'In welche Spalte sollen die Bilder ?
Columns("C:C").Select
'Spaltenigenschaften ändern
Selection.ColumnWidth = 30
'Wieviele URLs gibt es, dies gibt die Anzahl der Schleifendurchläufe an
j = InputBox("Wieviele URLs befinden sich in der Datei?")
'Schleife für so viel Artikel wie angegeben wurden.
For i = 2 To j
'Zeileneigenschaften ändern
Rows(i).Select
Selection.RowHeight = 100
'url einlesen
url = Range("D" & i).Value
If url = "" Then Exit Sub
'Die Zelle neben der URL auswählen
Range("C" & i).Select
'Bild einfügen
Set P = .Pictures.Insert(url)
'Namen vergeben
P.Name = "Bild" & i
'Shape-Object vom Bild holen
Set S = .Shapes("Bild" & i)
'Seitenverhältnis ein
S.LockAspectRatio = msoTrue
'Größe setzen
S.Locked = True
S.Height = 80
'Positionieren
With .Range("C" & i)
S.Top = .Top
S.Left = .Left
End With
Next i
End With
End Sub
|