| 
    
     |  | ▼okb さん: こんばんは。
 
 >次のマクロで、図形の貼り付けはできるのですが、貼り付けされるシートにより
 >アクティブセルの右列になったり、セルの左側、右側だったりと一定しません。
 >アクティブセルの中央に貼り付ける方法は、ないでしょうか?
 新規ブックの標準モジュールに以下のコードをコピーして下さい。
 
 '===============================================================
 Sub main()
 Dim ovl As Shape
 Set ovl = sample_oval(Worksheets("sheet1"))
 '  sheet1にサンプルの円を作成
 ovl.Placement = xlMove
 ovl.Copy
 With ActiveSheet
 .Paste
 Set novl = .Shapes(.Shapes.Count)
 End With
 With ActiveCell
 novl.Left = .Left + .Width / 2 - ovl.Width / 2
 novl.Top = .Top + .Height / 2 - ovl.Height / 2
 End With
 End Sub
 '=====================================================================
 Function sample_oval(sht As Worksheet) As Shape
 Set sample_oval = sht.Shapes.AddShape(msoShapeOval, 179.25, 160.5, 81#, 81#)
 End Function
 
 Sheet1以外のシートをアクティブにしてセルE15あたりを選択した状態で実行してみて下さい。
 
 |  |