|
貼り付けた直後の図形は、選択状態になっているはずですから、
そのまま右クリックして図形の書式設定をするところまでを、
マクロの自動記録すれば出来るはずです。
どうしても変数に入れたいなら・・
Sub Shp_Copy()
Dim Shp As Shape
Sheets("情報").Shapes("AutoShape 15").Copy
With Sheets("制作")
.Activate
.Paste
Set Shp = .Shapes(.Shapes.Count)
End With
Shp.Left = 100
Shp.Top = 10
Shp.Fill.Visible = True
Shp.Fill.ForeColor.RGB = RGB(255, 0, 0)
Application.CutCopyMode = False
Set Shp = Nothing
End Sub
などすれぱ出来ますが、コードを見て分かるとおり、
貼り付けた図形を特定するのに「インデックス」を使っている
わけです。これがマクロのコードを、どの図形に対しても汎用的に
使えるようにするコツです。なのでコピーする方も現在のように
>Shapes("AutoShape 15")
などと限定してしまうことなく、Selection を使うなどして
If TypeName(Selection) <> "Shape" Then Exit Sub
と判定し、Selection.Copy でコピーした方が良いでしょうね。
|
|