Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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)
   
Antworten 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
________
Servus
Case
Antworten Top
#23
Hallo Case,

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

Gruß
Markus
Antworten Top
#24
Hallo Case,

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

Gruß
Markus
Antworten Top
#25
Screenshot fehlte noch


Angehängte Dateien Thumbnail(s)
   
Antworten 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.

   

Sieht für mich ganz passabel aus (ist mit meinem Ursprungscode gemacht). :21:
________
Servus
Case
Antworten 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
Antworten 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)
Antworten 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
Antworten 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:
________
Servus
Case
Antworten Top


Gehe zu:


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