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