Re: Bilder in Excel
29.11.2002 15:50:56
Harald Wopenka
Okay, dann wollen wir mal... :)
Die idealste Variante wäre, wenn Du in Deinem Blatt einfach nur eine Funktion hast, die bei der Änderung der Zelle mit dem Bildnamen automatisch das Bild austauscht.
Z.Bsp. =getpic(b5)
Hier haben wir das Problem, dass in VB innerhalb einer function nicht so viel gemacht werden kann wie in einer sub. Wenn Du das Kopieren des Bildes aber über eine Sub abwickelst, müßte der Benutzer jedes mal einen Button klicken um das Bild rüber zu holen.
Um dies zu umgehen müßtest Du Dich in das change-Ereignis einhängen. Wenn es eine Änderung gibt, reagierst Du drauf und änderst das Bild.In meinem Beispiel habe ich das Datenblatt "datasheet" und das Blatt mit den Bildern "pics" getauft...
Private Sub Worksheet_Change(ByVal Target As Range)
'Letzten Bildnamen merken
Static lastPic$
'Aktuellen Bildnamen holen
actpic$ = Range("b3")
'Checken ob sich was geändert hat
If actpic$ <> lastPic$ Then
'Vorhandenes Bild eliminieren
datasheet.Shapes(1).Delete
'Neues Bild kopieren und einfuegen
pics.Shapes(actpic$).Copy
datasheet.Paste
'Bild positionieren
With datasheet.Shapes(1)
.Top = 10
.Left = 150
End With
End If
End Sub
Ich gehe davon aus, dass das Artikelbild das einzige Bild im Datenblatt ist und dass bereits ein Bild vorhanden ist. Aber Du wirst das sicher noch erweitern.
cu Harry