AW: Nochmals Bilder einfügen
Ramses
Hallo
wo liegt das Problem ?
Du liest doch den zugehörigen Wert aus der Spalte B ebenfalls aus.
Was hindert dich daran auch den Wert aus der Spalte C auszulesen ?
Du kannst ja den Namen des jeweils eingefügten Bildes in einer Public - Variablen zwischenspeichern, und zum löschen greifst du darauf zu
Das gehört in das Modul des Tabellenblatte
Option Explicit
Public tmpImageName As String
Public workWks As Worksheet
Private Sub ComboBox1_Change()
Dim myImage As String
Dim index As Integer
Dim tmpImage As Object
'Speichern des Blattes um das Bild am Ende wieder zu löschen
Set workWks = Worksheets(ActiveSheet.Name)
If ComboBox1 = "" Then
TextBox2 = ""
Else
For index = 1 To Range("A65536").End(xlUp).Row
If LCase(Left(Cells(index, 1), Len(ComboBox1))) = LCase(ComboBox1) Then
TextBox2 = Cells(index, 2)
'hier kommt der Name des Bildes
'Das ist doch nun wirklich nicht schwer
myImage = Cells(index, 3)
Exit For
End If
Next
End If
ActiveSheet.Pictures.Insert("C:\Bilder\" & myImage).Select
'Platzierung des Bildes
Set tmpImage = Selection
With tmpImage
'Zwischenspeichern des jeweiligen Bildnamens
tmpImageName = .ShapeRange.Name
'Skalieren und positionieren des Bildes
.ShapeRange.IncrementLeft 26.25
.ShapeRange.IncrementTop 19.25
.ShapeRange.ScaleWidth 0.48, msoFalse, msoScaleFromTopLeft
.ShapeRange.ScaleHeight 0.48, msoFalse, msoScaleFromTopLeft
End With
End Sub
und das in das Klassenmodul "Diese Arbeitsmappe"
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
workWks.Shapes(tmpImageName).Delete
End Sub
Damit wird das zuletzt eingefügte Bild beim schliessen der Datei wieder gelöscht.
Gruss Rainer