即効テクニック

書式設定関連のテクニック

Shapeの書式コピー

(Excel 97/2000)
すでに書式を設定してある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〜