|
▼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あたりを選択した状態で実行してみて下さい。
|
|