mschrak
Commander
- Registriert
- Sep. 2009
- Beiträge
- 2.238
Hallo zusammen,
ich muss vorab sagen, dass ich bei Makros wirklich wenig Ahnung habe. Vielleicht kann mir trotzdem jemand auf die Sprünge helfen.
Ich habe ein Tabellenblatt mit folgendem Makro:
Zweck der Tabelle ist es, zu wechselnden Inhalten das jeweils passende Bild von der Festplatte in der Tabelle anzuzeigen. Wie man sieht, ist der Dateilink in Zelle B8 vorhanden. Dieser kommt dort per SVERWEIS hin, ist also dynamisch.
Derzeit muss ich, um mir das Bild mit dem Makro anzeigen zu lassen, immer das Makro umständlich ausführen.
Meine Frage ist: Wie kann man das Makro programmieren, damit es sich immer dann selbst ausführt, wenn sich in Zelle B8 der Wert ändert, das Bild also immer gleich mit angepasst wird, wenn sich der Dateilink ändert?
Für Hilfe bin ich sehr dankbar,
Martin
ich muss vorab sagen, dass ich bei Makros wirklich wenig Ahnung habe. Vielleicht kann mir trotzdem jemand auf die Sprünge helfen.
Ich habe ein Tabellenblatt mit folgendem Makro:
Sub makroname()
Dim Bildpfad As String
On Error Resume Next
Worksheets("Tabelle1").Shapes.Range(Array("Bild")).Delete
'Löscht ein bereits vorhandenes Bild
Bildpfad = Cells(8, 2).Value
'Pfad zu den Ordnern mit den Bildern
Range("a1").Select
'Platz wo das Bild einfügt werden soll, geht aber auch über "Koordinaten"
ActiveSheet.Pictures.Insert(Bildpfad).Name = "Bild"
'Hiermit wird dem Bild der Name "Bild" gegeben, um es wieder löschen zu können
'Dimensionen des Bildes anpassen - mir hat es gereicht die Bildbreite anzupassen -> Width
Worksheets("Tabelle1").Shapes.Range(Array("Bild")).Select
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Width = 768
'Selection.ShapeRange.Height = 1024
'Sollte die Breite aber nicht genügen und die Höhe des Bildes den Platz sprengen, dann wird hiermit die Höhe angepasst
If Selection.ShapeRange.Height > 1024 Then
Selection.ShapeRange.Height = 1024
End If
'Und noch eine Feinjustierung
Selection.ShapeRange.Top = 1
Selection.ShapeRange.Left = 1
End Sub
Zweck der Tabelle ist es, zu wechselnden Inhalten das jeweils passende Bild von der Festplatte in der Tabelle anzuzeigen. Wie man sieht, ist der Dateilink in Zelle B8 vorhanden. Dieser kommt dort per SVERWEIS hin, ist also dynamisch.
Derzeit muss ich, um mir das Bild mit dem Makro anzeigen zu lassen, immer das Makro umständlich ausführen.
Meine Frage ist: Wie kann man das Makro programmieren, damit es sich immer dann selbst ausführt, wenn sich in Zelle B8 der Wert ändert, das Bild also immer gleich mit angepasst wird, wenn sich der Dateilink ändert?
Für Hilfe bin ich sehr dankbar,
Martin