Hallo Adde,
ich habe mal eine benutzerdefinierte Funktion erstellt, die das Richtige für deine Zwecke sein könnte. Voraussetzung ist, dass die Bilder in einem gemeinsamen Verzeichnis auf der Festplatte liegen.
Füge den folgenden Code in ein Standardmodul deiner Arbeitsmappe ein:
Public Function ZeigeBild(ByVal strBildname As String, Bildhöhe As Long) As String
Dim strDatei As String
Dim Bildbreite As Double
Dim Bildhoehe As Double
Dim meinBild
Dim strZielzelle As String
Dim shpBild As Shape
'Adresse, aus der die Formel aufgerufen wurde
strZielzelle = Application.Caller.Address
'ggf. vorhandenes Bild in Zelle löschen
For Each shpBild In ActiveSheet.Shapes
If shpBild.TopLeftCell.Address = strZielzelle Then shpBild.Delete
Next
'Pfad in dem die Bilder liegen ggf. anpassen
strDatei = "C:\Test\" & strBildname & ".jpg"
If Dir(strDatei) <> "" Then
Set meinBild = LoadPicture(strDatei)
Bildbreite = meinBild.Width
Bildhoehe = meinBild.Height
'zur Umrechnung von Zentimetern in Punkte: 1 cm = 28,35 pt
ActiveSheet.Shapes.AddPicture strDatei, msoFalse, msoTrue, Range(strZielzelle).Left, Range(strZielzelle).Top, Bildhöhe * 28.35 * Bildbreite / Bildhoehe, Bildhöhe * 28.35
ZeigeBild = "Bild"
Else
ZeigeBild = "Bild nicht vorhanden"
End If
End Function
Der Aufruf erfolgt in der Zelle, in der das Bild angezeigt werden soll in der Form:
=ZeigeBild("Bildname",Höhe des Bildes)
In deinem Fall würdest du in der Zelle, in der das Bild erscheinen soll die Formel
=ZeigeBild(C3;2)
Dabei gehe ich davon aus, dass die Bildernamen den Spielernummern entsprechenen. Das Bild wird dann mit einer Höhe von 2 cm skaliert eingefügt. Den Pfad, in dem die Bilder liegen, musst du natürlich auf deine Verhältnisse anpassen. Da die Bilder der Spieler sich ändern, werden in der Zielzelle eventuell vorhandene Bilder gelöscht.
Haben die Bilder andere Namen als die Nummer des Spielers, so kannst du diese ja z.B. über eine SVERWEIS-Formel abfragen. Die Bildnamen werden hier ohne Endung (jpg) angegeben. Hast du ein anderes Format, so ändere das im Code ab. Wenn du die Namen mit Endung hinterlegt hast, so kann man den Code auch einfach so anpassen, dass nur die Namen eingelesen werden.
In dem Fall ändere die Zeile
'Pfad in dem die Bilder liegen ggf. anpassen
strDatei = "C:\Test\" & strBildname & ".jpg"
in
'Pfad in dem die Bilder liegen ggf. anpassen
strDatei = "C:\Test\" & strBildname
Gruß
M.O.