Shapeの書式コピー
 すでに書式を設定してあるShapeから書式を他のShapeにコピーするには
PickUpメソッドとApplyメソッドを組み合わせて行います。

 サンプルではShapeを2つ追加し、1つ目の書式設定を行った後、同じ
書式を2個目のShapeに適用します。


Private Sub CommandButton1_Click()

Dim MyShape1 As Shape, MyShape2 As Shape

With ActiveSheet
'四角形のShapeを追加
Set MyShape1 = .Shapes.AddShape _
    (msoShapeRectangle, 100, 100, 100, 30)
'Shapeの書式設定
With .Shapes.Range(MyShape1.Name) '※
    .Fill.ForeColor.RGB = vbRed
    .PickUp '書式のコピー
End With
'丸型のShapeを追加
Set MyShape2 = .Shapes.AddShape _
    (msoShapeOval, 200, 200, 50, 50)
'コピーした書式を適用
MyShape2.Apply

End With

End Sub

※(注)一括で書式設定を行うこともできます。
  Shapes.Range(MyShape1.Name,MyShape2.Name).Fill〜

Excel97,2000



戻る


Excel Word Access VBA! モーグ