電子書籍の厳選無料作品が豊富!

教えてください。

画像挿入時にエクセルのセルの大きさに合わせるマクロを使っているのですが、エクセル2000、2003では問題なく動くのですが、2007だと、うまくVBAが動かず、画像が縮小・拡大されません。
わかるかた教えてください。

コード
 Dim c As Range, cm As Range
Application.ScreenUpdating = False
For Each c In Selection
Set cm = c.MergeArea
If c.Address = cm.Item(1).Address Then
If Application.Dialogs(xlDialogInsertPicture).Show = False    Then Exit Sub
 With Selection
.Left = cm.Left
.Top = cm.Top
.Height = cm.Height
.Width = cm.Width
End With
End If
Next
Set cm = Nothing

A 回答 (1件)

ShapeのLockAspectRatioプロパティで縦横比を保持するかを指定できる。


と言うのが増えてるみたいです。
ただ、
Selection.LockAspectRatio = msoFalse
ではエラーになるので、
ActiveSheet.Shapes(.Name).LockAspectRatio = msoFalse

.Height = cm.Height
.Width = cm.Width
の前に入れると、とりあえず動くみたい。
もっとスマートな方法もあると思う。
最初からSelectionではなくShapeで指定するとか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!