Excel VBAでワークシートにあるグラフをセルが移動したり、サイズが変わると、グラフを一緒に移動したり、サイズが変わります。
セルに合わせて、移動したり、サイズが変わらないようにする設定の記録です。
移動したり、サイズが変わらないようにするには「Placement」プロパティを使います。
< スポンサーリンク >
「Placement」プロパティ構文
式.Placement
オブジェクトがその下のセルにどのように接続されるかを表す、xlplacement定数を含むバリアント型(Variant)の値を取得、または設定します。
【xlplacement】
xlFreeFloating=オブジェクトは自由に動きます
xlMove=オブジェクトはセルと共に移動します
xlMoveAndSize=オブジェクトはセルと共に移動し、セルに合わせてサイズが変更されます
セルに合わせての移動・サイズの変更を設定する例
移動やサイズを変更する
アクティブシートの1つ目のグラフを「セルに合わせて移動やサイズ変更をする」に設定する。
Sub test()
ActiveSheet.ChartObjects(1).Placement = xlMoveAndSize
End Sub
移動やサイズを変更しない
アクティブシートの1つ目のグラフを「セルに合わせて移動するがサイズ変更はしない」に設定する。
Sub test()
ActiveSheet.ChartObjects(1).Placement = xlMove
End Sub
グラフを指定して移動やサイズを設定する
アクティブシートの1つ目のグラフを「セルに合わせて移動やサイズ変更をしない」に設定する。
Sub test()
ActiveSheet.ChartObjects(1).Placement = xlFreeFloating
End Sub
すべてのグラフの移動やサイズを設定する
アクティブシートのすべてのグラフを「セルに合わせて移動するがサイズ変更はしない」に設定する。
Sub test()
Dim i As Long
With ActiveSheet
For i = 1 To .ChartObjects.Count
.ChartObjects(i).Placement = xlMove
Next i
End With
End Sub
こんな記事も書いています