Excel 2003: Variables Bild aus Datei in Zelle

mschrak

Commander
Registriert
Sep. 2009
Beiträge
2.234
Hallo zusammen,

kennt jemand eine Möglichkeit, Bilder in Excel in die Tabelle einzubinden, diese aber "variabel" zu halten, also abhängig von dem in einer anderen Zelle ausgewählten Dateilink?

Was ich möchte, ist zB:

Zelle A1: Benutzer gibt ein, welches Bild er haben möchte (Bild1, Bild 2, ...)
Zelle B1: Hyperlink auf das entsprechende Bild in einem festen Ordner auf meinem Rechner (Das bekomme ich noch hin)

und jetzt das Schwierige:
Zelle C3: Hier wird das ausgewählte Bild (jpg) dargestellt, und zwar eingepasst in die Zellengröße, egal wieviele Pixel das Bild als jpg hat.

Was soll das Ganze? Ich möchte meine Excel-Datenbank (Produkteigenschaften etc. mit SVERWEIS) mit der entsprechenden Bilddatenbank (bisher nur JPEGs in einem Ordner) verknüpfen und einzelne Datensätze nach Auswahl mit einem dazugehörigen Bild ausdrucken können.

Hat jemand eine Idee?

Danke schon mal,

Martin
 
Hi,
hab sowas in einem meiner Arbeitsprojekte.
Hier der Auszug der dir weiterhelfen sollte, musst du natürlich noch entsprechend anpassen:


Code:
Sub makroname()

Dim Pfad As String
Dim Datei As String
Dim Bildpfad As String
      
On Error Resume Next
Worksheets("Tabellenname").Shapes.Range(Array("Bild")).Delete 'Löscht ein bereits vorhandenes Bild, sonst werden die gestapelt
    
'Hiermit baue ich den Pfad zu den Ordnern mit den Bildern
Pfad = ThisWorkbook.Path  'aktueller Speicherplatz der Datei
Datei = Cells(8, 2).Value 'in meiner Tabelle wird in B8 per sverweis der Bildname gezogen
Bildpfad = Pfad & "\" & Datei 'zusammenfügen von Speicherplatz der Datei + Bildname


'Platz wo das Bild einfügt werden soll, geht aber auch über "Koordinaten"
Range("B7").Select
'Hiermit wird dem Bild der Name "Bild" gegeben, um es wieder sauber löschen zu können
ActiveSheet.Pictures.Insert(Bildpfad).Name = "Bild"


'Dimensionen des Bildes anpassen - mir hat es gereicht die Bildbreite anzupassen -> Width
Worksheets("Tabellenname").Shapes.Range(Array("Bild")).Select
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Width = 146
'Selection.ShapeRange.Height = 130

'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 > 139 Then
Selection.ShapeRange.Height = 139
End If

'Und noch eine Feinjustierung
Selection.ShapeRange.Top = 94
Selection.ShapeRange.Left = 16

End Sub

Nachtrag: Ich verwende das Makro in Office2010
 
Zuletzt bearbeitet: (Ergänzung Office-Version)

Ähnliche Themen

Zurück
Oben