Excel: Bilder erzeugen aus Bildname oder Hyperlink und in Nachbarzelle anzeigen
#21
Hallo Case,

Du hattest mir kürzlich bei meinem Problem geholfen:
https://www.clever-excel-forum.de/thread-17901.html

Das klappte auch super, bis ich jetzt das Problem bekommen habe, dass die Bilder scheinbar nicht proportional an die Zellgröße angepasst werden.
Kann man das in Deinem Code anpassen, dass das Bild in seinem Ursprung in die voreingestellte Zellgröße passt?
Also ein kleines Produkt bleibt klein, ein großes Produkt wird größer dargestellt. Die Zellgröße soll aber voreingestellt bleiben.
Ich habe Dir mal einen screenshot angehängt


Würde mich freuen von Dir zu hören.

Viele Grüße
Markus


Angehängte Dateien Thumbnail(s)
   
Top
#22
Hallo, :19:

so der Spur nach: :21:


Code:
Option Explicit
Sub Main()
    Dim objPic As Shape
    Dim lngRow As Long
    Dim strFile As String
    For Each objPic In ActiveSheet.Shapes
        If Not Intersect(objPic.TopLeftCell, Range("B:B")) Is Nothing Then
            objPic.Delete
        End If
    Next objPic
    Const cstrPath As String = "C:\Temp\Bilder\"  'Pfad anpassen!!!!
    With ThisWorkbook.Worksheets("Tabelle1") 'Tabellenname ggfl. anpassen!
        lngRow = Application.Max(1, .Cells(.Rows.Count, 1).End(xlUp).Row)
        For lngRow = 2 To lngRow
            If Not IsEmpty(.Cells(lngRow, 1).Value) Then
                strFile = Dir(cstrPath & .Cells(lngRow, 1).Value, vbNormal)
                If strFile <> "" Then
                    With .Shapes.AddPicture _
                        (cstrPath & strFile, False, True, 0, 0, 0, 0)
                        .LockAspectRatio = msoTrue
                        .Left = .Parent.Cells(lngRow, 2).Left
                        .Top = .Parent.Cells(lngRow, 2).Top
                        .Height = .Parent.Cells(lngRow, 2).Height
                        '.Width = .Parent.Cells(lngRow, 2).Width
                        .Name = "picture" & lngRow
                    End With
                End If
            End If
        Next lngRow
    End With
End Sub
Top
#23
Hallo Case,

jetzt sehen die Bilder horizontal gestaucht aus.
Habe ich was falsch eingestellt?

Gruß
Markus
Top
#24
Hallo Case,

jetzt sehen die Bilder horizontal gestaucht aus.
Habe ich was falsch eingestellt?

Gruß
Markus
Top
#25
Screenshot fehlte noch


Angehängte Dateien Thumbnail(s)
   
Top
#26
Hallo, :19:

habe das mit Testbilder von mir gemacht. Nun habe ich es mit den Originalen probiert und mein Ursprungscode funktioniert doch. Du musst natürlich ein ähnliches Verhältnis der Zeilenhöhe zur Spaltenbreite haben, wie auch das Bild hat. Wenn die Zelle rechteckig ist klappt das nicht.

[attachment=20888]

Sieht für mich ganz passabel aus (ist mit meinem Ursprungscode gemacht). :21:
Top
#27
Hallo Case,

da werde ich dann wohl mit probieren müssen, ob die voreingestellte Spaltenbreite und -höhe zu den Produkten passt und die Anzeige halbwegs funktioniert.

Gruß
Markus
Top
#28
Hallöchen,

probiers mal mit

With .Shapes.AddPicture _
(cstrPath & strFile, False, True, 0, 0, -1, -1)


Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#29
Halllo Schauan,

besten Dank.
Leider auch hier nicht das gewünschte Ergebnis - die Bilder werden zwar größenmäßig angepasst, die Zellgröße dann aber nicht.
Sieht so aus als müssten wir den Bilderjob bei der Masse an Bildern doch mit Indesign regeln.

Gruß
Markus
Top
#30
Hallo, :19:

Du könntest auch die Bilder mit z. B. "IrfanView" über die Batchfunktion mit wenigen Klicks auf eine bestimmte Größe bringen und dann einfügen. "IrfanView" lässt sich über die Kommandozeile auch per VBA steuern. :21:
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste