Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
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

VBA Bilder anzeigen Funktion

VBA Bilder anzeigen Funktion
24.03.2021 18:08:12
Ayhan
Hallo an alle,
bin selber ein Anfänger in VBA, aber bin begeistert davon was alles möglich ist.
Ich würde Bilderlinks in Excel als Bilder daneben in der Zelle angezeigt bekommen.
Die Bilder sollen 50% herunterskaliert werden und die Zellengröße soll dementsprechend angepasst sein.
Wenn ich die Funkion InsertPic dann aufrufen und eine Zelle mit den Link wähle.
Dann lädt er das Bild aber passt nicht die Zellengröße an.
Sowie wenn ich die Funktion runterziehe und auf andere Zellen anwenden wird das vorherige Bild mit angezeigt. Was mache ich das falsch? Könnte mir jemand dabei helfen?
Viele Grüße
Ayhan
Bisher habe ich diesen Code:
Function InsertPic(url As String) As String
Dim PicPath As String, Pic As Picture
PicPath = url
Set Pic = ActiveSheet.Pictures.Insert(PicPath)
With Pic
.ShapeRange.LockAspectRatio = msoTrue
.Left = ActiveCell.Left
.Top = ActiveCell.Top
.Width = 50
.Height = 50
End With
ActiveCell.RowHeight = 50
ActiveCell.ColumnWidth = 50
End Function


1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Bilder anzeigen Funktion
25.03.2021 01:27:41
fcs
Hallo Ayhan,
mit der folgenden Anpassung sollte es funktionieren.
Function InsertPic(url As String) As String
Dim PicPath As String, Pic As Picture
Dim dblHoehe As Double
PicPath = url
Set Pic = ActiveSheet.Pictures.Insert(PicPath)
With Pic
.ShapeRange.LockAspectRatio = msoTrue
dblHoehe = 0.5 * .Height 'Bild um 50% verkleinern
If dblHoehe > 200 Then dblHoehe = 200 'Höhe begrenzen
.Height = dblHoehe
.Left = ActiveCell.Left
.Top = ActiveCell.Top
ActiveCell.EntireRow.RowHeight = dblHoehe
'ActiveCell.EntireColumn.ColumnWidth = .Width 'funktioniert leider nicht korrekt, _
da Excel eine "besondere" Methode verwendet zur Festlegung der Spaltenbreite. _
Sie ist abhängig von der Schriftart und Größe der Schrift in der Format- _
Vorlage Standard.
End With
End Function
Problem:
Sowie wenn ich die Funktion runterziehe und auf andere Zellen anwenden wird das vorherige Bild mit angezeigt. Was mache ich das falsch? Könnte mir jemand dabei helfen?
Die Kopierfunktion wird über eine Excel-Option gesteuert.
Userbild
Die markierte Option musst du deaktivieren, damit die Bilder nicht mit kopiert werden.
ggf. musst du die Option wieder aktivieren, wenn Bilder/Formen mit den Zellen kopiert werden sollen.
LG
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige