#NV oder #WERT! in Makro überspringen
05.11.2008 10:22:47
gio
Hallo liebe Excel Gemeinde,
unteres vorgefertigtes Makro fügt mir Bilder ein.
Wenn in irgendeiner Zelle C:/Bildname.jpg steht fügt er dort Bild ein.
Klappt meistens prima!
Das Makro hängt mir aber hier:
StBild = RaZelle.Value ' Bildname feststellen
Und zwar weil ich in der Tabelle sehr oft auch #NV oder #WERT!in den Zellen als Ergebnis habe.
Da bleibt er dann stehen.
Wie kann ich Makro ändern, daß er mir diese Zellen überspringt?
Danke im voraus
gio
Option Explicit ' Variablendefinition erforderlich
Sub Bilder_einfuegen()
'* H. Ziplies *
'* 02.12.07 *
'* erstellt von Hajo.Ziplies@web.de *
'* http://Hajo-Excel.de/
Dim StBild As String ' Variable für Bildname
Dim InI As Integer ' Schleifenvariable
Dim RaZelle As Range ' Variable für aktuelle Zelle die _
bearbeitet wird
' Bild löschen von jinx
' löscht alle Bilder auf dem aktuellen Blatt,
' wenn deren erste drei Buchstaben "Pic" sind
For InI = ActiveSheet.Shapes.Count To 1 Step -1
If Left(ActiveSheet.Shapes(InI).Name, 3) = "Pic" Then
ActiveSheet.Shapes(InI).Delete
End If
Next
' Bildschirmaktualisierung aus
Application.ScreenUpdating = False ' Bildschirmaktualisierung aus
For Each RaZelle In ActiveSheet.UsedRange
StBild = RaZelle.Value ' Bildname feststellen
' prüen ob verschieden von Leer und ob Bildname
If StBild "" And UCase(Right(StBild, 3)) = "JPG" Then
If Dir(StBild) "" Then ' Prüfen ob Bild vorhanden
' einfügen ohne select von Bert Körn
' Ausdruck.AddPicture(FileName, Verknüpfung, in Mappe speichern,
' Pos. Links, Pos. Oben, Breite, Höhe)
' von Klausimausi64 Bildname
With ActiveSheet.Shapes.AddPicture(StBild, True, True, RaZelle.Left, _
RaZelle.Top, 50, 50)
.Name = "Pic" & RaZelle.Address ' Bild benennen
.OnAction = "Bild_BeiKlick" ' Reaktion auf Klick
End With
End If
End If
Next RaZelle
Application.ScreenUpdating = True ' Bildschirmaktualisierung ein
End Sub