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

Bild aus Zwischenspeicher an Zellgöße anpassen

Bild aus Zwischenspeicher an Zellgöße anpassen
26.04.2017 20:56:37
Enrico
Hallo,
ich möchte per Makro aus dem Zwischenspeicher ein Bild in eine Zelle einfügen.
Bisher habe ich das folgende Makro verwendet.
Sub Bild_einfügen_und_Bildgröße_anpassen()
'Bild aus Zwischenspeicher einfügen
ActiveSheet.Paste
'abhängig von Zellposition und Zellgröße
Selection.Placement = xlMoveAndSize
'Größe formatieren :
If TypeName(Selection) = "Picture" Then 'nur wenn Grafik markiert ist :
With Selection.ShapeRange
.LockAspectRatio = False
'Breite und Höhe der Grafik bitte in Klammer hier anpassen :
.Height = Application.CentimetersToPoints(3.3)
.Width = Application.CentimetersToPoints(4.5)
End With
End If
'Bild komprimieren
Application.SendKeys "w~"
Application.CommandBars.ExecuteMso "PicturesCompress"
End Sub

Das Makro habe ich aus verschiedenen VBA Schnippseln aus dem Internet zusammen gefügt, weil ich selbst von VBA keine Ahnung habe.
Jetzt soll das Makro folgende Aufgabe mit abarbeiten:
Das Seitenverhältnis des Bildes soll nicht geändert werden und das Bild trotzdem in die Zelle passen.
Wenn am Rand der Zelle Lücken entstehen, weil z.B. ein Hochformat-Bild eingefügt wird, ist für mich i.O.
Lässt sich das per VBA umsetzen?
Ich bin für jede Hilfe dankbar.
Gruß
Enrico

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bild aus Zwischenspeicher an Zellgöße anpassen
27.04.2017 13:59:59
Karl-heinz
Hallo Enrico,
vielleicht helfen Dir Diese Ansätze hier. Sub1 passt das Bild komplett in die Zelle ein. Sub2 behält das Verhältnis bei und zentriert das Bild in der Zelle.
Sub Bild_einfügen_und_Bildgröße_anpassen1()
'Bild aus Zwischenspeicher einfügen
Dim X As Long, Y As Long, H As Long, B As Long
With ActiveCell
X = .Left: Y = .Top:  H = .Height: B = .Width
End With
ActiveSheet.Paste
If TypeName(Selection) = "Picture" Then
With Selection.ShapeRange
.LockAspectRatio = False
.Left = X: .Top = Y: .Height = H: .Width = B
End With
End If
End Sub

Sub Bild_einfügen_und_Bildgröße_anpassen2()
'Bild aus Zwischenspeicher einfügen
Dim X As Long, Y As Long, H As Long, B As Long, R1 As Double, R2 As Double
With ActiveCell
X = .Left: Y = .Top:  H = .Height: B = .Width
End With
ActiveSheet.Paste
If TypeName(Selection) = "Picture" Then
With Selection.ShapeRange
.LockAspectRatio = True
.Left = X: .Top = Y
R1 = .Width / B: R2 = .Height / H
If R1 
viele Grüße
Karl-Heinz
Anzeige
AW: Bild aus Zwischenspeicher an Zellgöße anpassen
03.05.2017 21:05:17
Enrico
Hallo Karl-Heinz,
es funktioniert wie gewünscht.
Vielen Dank.
Gruß
Enrico

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige