|
Kein さんお答えありがとうございました!
参考になりました!!!
さっそく記述し直してみます^^v
▼Kein さん:
>貼り付けた直後の図形は、選択状態になっているはずですから、
>そのまま右クリックして図形の書式設定をするところまでを、
>マクロの自動記録すれば出来るはずです。
>どうしても変数に入れたいなら・・
>
>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 でコピーした方が良いでしょうね。
|
|