Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1792to1796
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bilder per Macro einfügen

Bilder per Macro einfügen
18.11.2020 20:27:07
Patrick
Hallo Liebe Helferinnen und Helfer,
ich füge mit folgendem Code ein Bild in eine Zelle ein.
Dim Dat As String
Dim Zelle As Range
Dim ScaleA As Double
Dat = Application.GetOpenFilename(, , "Bild auswählen", , False)
Set Zelle = Cells(Range("A1").End(xlDown).Row + 0, 11)
'Bild einfügen
Select Case Right(Dat, 3)
Case "bmp", "jpg", "tif", "gif", "jpeg"
ActiveSheet.Pictures.Insert(Dat).Select
With Selection.ShapeRange
.Top = Zelle.Top
.Left = Zelle.Left
ScaleA = WorksheetFunction.Min(Zelle.Width / .Width, Zelle.Height / .Height)
.Height = .Height * ScaleA
End With
Selection.Placement = xlMoveAndSize
Selection.PrintObject = True
Case Else
MsgBox "Sie haben kein gültiges Bild ausgewählt"
End Select
End Sub

Das funktioniert auch sehr gut.
Zum Problem:
die Bilder werden leider nur als Verknüpfung eingefügt. Sobald die originale Bilddatei gelöscht wird sind die Bilder mit dem Hinweis "Das verknüpfte Bild kann nicht angezeigt werden" nicht mehr zu sehen.
sicher ist der Ansatz mit SaveWithDocument der richtige. nur bin ich völlig Ratlos an welche Stelle in meinem Code der Befehl eingefügt werden muss...
Für eure Hilfe bin ich sehr dankbar.
Gruß Patrick

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Alternative
18.11.2020 23:24:38
ralf_b
Hallo,
versuch mal ob deine Bilder damit in der richtigen Größe eingefügt werden.
Select Case Right(Dat, 3)
Case "bmp", "jpg", "tif", "gif", "jpeg"
ActiveSheet.Shapes.AddPicture Dat, False, True, Zelle.Left, Zelle.Top, Zelle.Width,  _
Zelle.Height
With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
ScaleA = WorksheetFunction.Min(Zelle.Width / .Width, Zelle.Height / .Height)
.Height = Zelle.Height * ScaleA
End With
Case Else
MsgBox "Sie haben kein gültiges Bild ausgewählt"
End Select

Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige