Clever-Excel-Forum

Normale Version: Einfügen von Bildern in einem vorher festgelegten Format
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin moin,

ich bin aktuell auf der Suche nach einer Möglichkeit auf einem Excel-Blatt in einer festgelegten Zelle Fotos einfügen zu können. Das ist ja nicht das Problem. Was ich nur gerne hätte ist, dass die Bilder sofort in das Format der Zelle formatiert werden. Sprich die Größe des Bildes/Fotos soll sich nach Möglichkeit an die Größe der Zelle anpassen.

Ich danke euch bereits jetzt schon für eure Hilfe!!
Hallo, :19:

das geht z. B. so: :21:

Code:
Option Explicit
Public Sub Main()
    Dim strPicName As Variant
    Dim objShape As Shape
    On Error Resume Next
    ThisWorkbook.Worksheets("Tabelle1").Shapes("picto").Delete
    Err.Clear
    On Error GoTo Fin
    ' Pfad- und Dateiname anpassen!!!!
    strPicName = "C:\Temp\Bild1.jpg"
    Select Case Right(strPicName, 3)
        Case "bmp", "jpg", "tif", "gif", "png"
            Application.ScreenUpdating = False
            ' C3 - bei Bedarf anpassen
            With Cells(3, 3)
                Set objShape = ThisWorkbook.Worksheets("Tabelle1").Shapes.AddPicture( _
                    strPicName, msoFalse, msoTrue, .Left, .Top, -1, -1)
                objShape.Top = .Top + 1
                objShape.Left = .Left + 1
                objShape.LockAspectRatio = msoFalse
                objShape.Height = .Height
                objShape.Width = .Width
                objShape.Name = "picto"
            End With
        Case Else
            MsgBox "Sie haben kein gültiges Bild ausgewählt"
    End Select
Fin:
    Set objShape = Nothing
    Application.ScreenUpdating = True
    If Err.Number <> 0 Then MsgBox "Error: " & _
        Err.Number & " " & Err.Description
End Sub

Wenn das Bild genau in die Zelle passen soll, dann musst du die Sperrung des Seitenverhältnisses aufheben "LockAspectRatio". Dadurch kann das Bild natürlich verzerrt aussehen.

Shapes.AddPicture-Methode (Excel)...
Das werde ich gleich mal ausprobieren. Dickes Danke!!!