mit dem Code wird je nach Eingabe in A in B ein Bild angezeigt, klappt auch. Nur wird das neue über das alte Bild gelegt. Was irgendwann den Speicher oder sonstwas überlastet.
Wie kann ich das alte Bild löschen. dazu müßte ich es identifizieren. Geht das nur über eine Schleife die von allen Bildern die .Top Werte mit denen von der B-Zelle in der aktuellen Zeile vergleicht, oder geht das direkter.
Die Schleife bekäm ich hin.
Danke ^ Gruß
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range) Dim Pfad As String If Target.Column <> 1 Then Exit Sub Application.ScreenUpdating = False Pfad = "C:\Dokumente und Einstellungen\All Users\Dokumente\Eigene Bilder\Beispielbilder\" Select Case Target.Value Case 1 ActiveSheet.Pictures.Insert(Pfad & "winter.jpg").Select Case 2 ActiveSheet.Pictures.Insert(Pfad & "Sonnenuntergang.jpg").Select Case 3 ActiveSheet.Pictures.Insert(Pfad & "Blaue Berge.jpg").Select Case Else ActiveSheet.Pictures.Insert(Pfad & "NixZuSehen.jpg").Select End Select With Selection .Top = Range("B" & Target.Row).Top .Left = Range("B" & Target.Row).Left .Height = Range("B" & Target.Row).Height .Width = Range("B" & Target.Row).Width End With Target.Offset(1, 0).Select Application.ScreenUpdating = True End Sub
Reinhard