VBA_グラフの位置を設定

下記を使う。

ChartObjects(1).Top = Range("セル番地").Top
ChartObjects(1).Left = Range("セル番地").Left

・グラフ移動・削除などは、ChartObject を操作。
・この (1) は、シートに含まれる埋め込みグラフのインデックス番号。

 

ex)
棒グラフを作成し、testChart という名前を付けて C4 にグラフ位置設定。

Sub test01()
    Workbooks.Open ("操作対象ファイルのフルパス")
    Worksheets("Sheet1").Activate

    With ActiveSheet.Shapes.AddChart.Chart
        .ChartType = xlColumnClustered
        .SetSourceData Range("A1:B4")
    End With
   
    With ActiveSheet.ChartObjects(1)
        .Name = "testChart"
    End With
   
    With ActiveSheet.ChartObjects("testChart")
        .Top = Range("C4").Top
        .Left = Range("C4").Left
    End With
   
End Sub

f:id:koshinRan:20180116005735p:plain

 

名前をつけずに、ChartObjects(1) でも同様の結果が得られる。

    With ActiveSheet.ChartObjects(1)
        .Top = Range("C4").Top
        .Left = Range("C4").Left
    End With

 

 

こちらから。
http://officetanaka.net/excel/vba/graph/03.htm

以上。