Ich benötige Eure Hilfe. zunächst einmal mein momentanes Makro:
Sub Bilder_einfuegen()
Dim rngActiveCell As Range
Dim strAdresseBereich As String
Dim strPicture As String
On Error GoTo ERRORHANDLER
Application.ScreenUpdating = False
strAdresseBereich = Selection.Address
Set rngActiveCell = ActiveCell
'Dialogfenster zur Auswahl des Bildes öffnen
strPicture = Application.Dialogs(xlDialogInsertPicture).Show
If strPicture = False Then Exit Sub
'Bei dem eingefügten Bild...
With Selection
'die Position Links an der linken Seite der Zelle ausrichten
.Left = rngActiveCell.Left + 2
'die Position Oben an der oberen Seite der Zelle ausrichten
.Top = rngActiveCell.Top + 2
'die Bildbreite an die Breite des Zellverbundes anpassen
.Width = Range(strAdresseBereich).Width - 4
'Höhe der Zeile an Bild anpassen
rngActiveCell.RowHeight = .Height + 4
End With
ERRORHANDLER:
Set rngActiveCell = Nothing
End Sub
Über diese Makro möchte ich Bilder in die aktive Zelle bzw. bei Verbundenen Zellen in den Zellverbund einfügen. Dabei soll das Bild eingefügt, von der Breite her an die breite der Zelle bzw. des Zellenverbundes angepasst werden. Allerdings so, dass das Seitenverhältnis des Bildes erhalten bleibt, sprich das Bild, das größer ist, wird alles in allem kleiner. Als letztes soll die Zeilenhöhe an die Höhe des Bildes angepasst werden.Soweit die Erklärungen, nun zu meinem Problem. In Excel 2007 bzw. Excel 2010 funktioniert obiges Makro wie gewollt. Allerdings bei Excel 2003 wird das Bild nur in der Breite angepasst, nicht aber im Seitenverhältnis, so dass das die Höhe des Bildes in dem originalzustand verbleibt. Woran kann das liegen, dass das Makro in Excel 2007/ 2010 funktioniert, aber >=2003 nicht?
Ich hoffe, Ihr habt einen Tipp für mich.
Danke Euch schon mal,
Kasimir