Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bildimport an Zellgröße anpassen | Herbers Excel-Forum

Bildimport an Zellgröße anpassen
07.01.2010 16:06:40
Armin

Hallo,
ich importiere aus einem Verzeichnis Bilder. Nun möchte ich das importierte Bild an die Spaltenbreite anpassen. Dabei habe ich folgendes Problem mit der Umrechnung von Bildbreite zur Spaltenbreite.
Im Beispiel habe ich einen Faktor von 5.355 verwendet, welcher die Bilder schon nahe an die Spaltebreite skaliert, aber eben nicht genau. Abhängig von der Spaltenbreite ist das Bild manchmal zu breit und manchmal zu schmal.
Gibt es eine Möglichkeit (VBA-Code) um das Problem elegant zu lösen?
Hier der VBA-Code, den ich derzeit verwende.

'** Ermittlung der Spaltenbreite
varBreite = Columns("A:A").ColumnWidth
With ActiveSheet.Shapes("Picture 1")
ActiveSheet.Shapes("Picture 1").Select
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Width = varBreite * 5.355 'Auf Spaltenbreite Skalieren
End With

Vielen Dank für euere Tipps
Armin

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bildimport an Zellgröße anpassen
07.01.2010 16:15:32
Hajo_Zi
Hallo Armin,
schaue doch auf diese Seite, wie es ohne select gemacht wird
http://hajo-excel.de/vba_bild.htm
Und gib als Breite die Breite der Spalte an.

AW: Width statt Columnwidth
07.01.2010 16:25:29
Daniel
Hi
verwende zum Ermittlen der Spaltenbreite nicht .ColumnWidth sondern nur .Width
.Width ist ein exakter, graphischer Wert, der für alle Elemente gleich ist, .ColumnWith hingegen ist ein Excelspezifischer Wert, der sich darauf bezieht, wieviele Zeichen bei einer Standardschrift in Standardgrösse in die Zelle passen. Eine einfache und exakte Umrechnung per Faktor von Columnwidth in Width ist nicht möglich, da ja immer noch der linke und rechte Abstand zum Rand berücksichtigt werden muss. Dieser Abstand ist fix und wirkt sich um so stärker aus, je schmaler die Zelle ist.
Gruß, Daniel
Anzeige
AW: Width statt Columnwidth
07.01.2010 16:35:58
Armin
Prima, vielen Dank
hat funktioniert.
Armin
AW: Bildimport an Zellgröße anpassen
07.01.2010 16:49:17
Tino
Hallo,
versuche es mal so.
With ActiveSheet.Shapes("Picture 1")
.LockAspectRatio = msoTrue
.Top = .TopLeftCell.Top
.Left = .TopLeftCell.Left
.Width = Columns("D:D").Width
End With
Gruß Tino

185 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige