Grafik formatieren

20/02/2010 - 15:45 von puck | Report spam
Hi!

(Excel 2003 und 2007)
Es wàre schön, wenn mir jemand hier weiterhelfen könnte:

Eine Grafik habe ich importiert per Makro und nun soll sie (per Makro) in
den Zellbereich e1 bis g6 geschoben werden, wobei das Seitenverhàltnis der
Grafik gleich bleiben soll.
Kann ich vielleicht auch noch angeben, dass sie innerhalb des Bereichs zu
zentrieren ist?

MfG
GvB
 

Lesen sie die antworten

#1 Andreas Killer
20/02/2010 - 16:37 | Warnen spam
Gebhard von Busse schrieb:

Eine Grafik habe ich importiert per Makro und nun soll sie (per Makro) in
den Zellbereich e1 bis g6 geschoben werden, wobei das Seitenverhàltnis der
Grafik gleich bleiben soll.
Kann ich vielleicht auch noch angeben, dass sie innerhalb des Bereichs zu
zentrieren ist?


Aber ja, kein Ding.

Andreas.

Option Explicit

Sub LogoHàndler()
ResizePicture "Bild 2", Range("e1:g6")
If Err Then _
MsgBox "Fehler " & Err.Number & ": " & Err.Description
End Sub

Private Sub ResizePicture(ByVal PicName As String, R As Range)
'Dimensioniert ein Bild auf einen Zellbereich
Dim S As Shape
'Zugriff auf das Bild versuchen
On Error Resume Next
Set S = ActiveSheet.Shapes(PicName)
'Erfolgreich?
If S Is Nothing Then
Err.Raise 481, "ResizePicture", "Bild nicht vorhanden"
Exit Sub
End If
'Dimensionieren
With S
.Left = R.Left
.Top = R.Top
.Height = R.Height
.Width = R.Width
'Ggf. Höhe erneut setzen, sonst ist das Bild zu groß
If .Height > R.Height Then
.Height = R.Height
'Im Bereich horizontal zentrieren
.Left = .Left + (R.Width - .Width) / 2
Else
'Im Bereich vertikal zentrieren
.Top = .Top + (R.Height - .Height) / 2
End If
End With
End Sub

Ähnliche fragen