Ich habe wie es der Titel schon sagt eine Frage betreffend Bilder und Excel
Folgendes: Ich möchte, dass wenn ich in einer Zelle ein Land eingebe, er mir in einer anderen Zelle die dazugehörige Fahne einfügt. Die grösse der Fahne wurde schon im Format png angepasst. Die Bilder sind in einem Ordner auf dem PC.
Hätte mir jemand wenn möglich einen Ansatz wie ich mich an den Code wagen müsste?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strPfad As String
strPfad = "D:\Test\" & Range("E5") & ".gif"
OLEObjects("image1").Object.Picture = LoadPicture(strPfad)
End Sub
ich habe die Bilddateien als Gif in einem Ordner, namens "Test", auf Laufwerk D liegen
in Zelle E5 wird ein Name eingegeben und in einem Image1 wird dann das Bild angezeigt
Das OLEObjects kenne ich jetzt überhaupt nicht. Ich habe es in meine Code eingefügt und ich erhalte eine Fehlermeldung (Siehe Anhang).
Was gibt es betreffend dem OLEObjects noch zu beachten? Habe im Internet nichts passendes gefunden.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strPfad As String
Dim pic As Picture
strPfad = "D:\Test\" & Range("E5") & ".gif"
If Dir(strPfad) = "" Then Exit Sub
Set pic = ActiveSheet.Pictures.Insert(strPfad)
With ActiveSheet.Range("F5")
' Abstand links und oben
pic.Left = .Left
pic.Top = .Top
End With
End Sub
die Eingabezelle und die Zelle für das Bild usw. anpassen
MfG Tom
Hallo Matteo
Vielleicht hilft Dir dieser getestete Ansatz.
Drehfeld in der Zelle A4 mit den Ländernamen. Fahnen gespeichert unter Ländernamen.png
Fahne in C4. Inhalt in C4 bei jeder neuen Auswahl gelöscht.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strFahne As String
Application.ScreenUpdating = False
If Target = Range("A4") Then
strFahne = Target
Range("C4").Select
ActiveSheet.Pictures.Delete
ActiveSheet.Pictures.Insert ("C:\[Dein Pfad]" & strFahne & ".png")
Range("A4").Select
End If
Application.ScreenUpdating = True
End Sub
Gruss