VBA_グラフの大きさを設定

グラフの作成、位置設定の続き。

ChartObject の Width プロパティと Height プロパティに任意の値を代入する。

以下を使う。

Shape.Width

Shape.Height

・Width がグラフ ( オブジェクト ) の。Height が高さ
    ポイント単位で値を設定・取得。

・数値を指定するより、セル範囲で大きさを設定する方が多い。
    Shape.Width = Range("A1:D6").Width
    ↑ オブジェクトのWidth プロパティへ、セル範囲 A1:D6 の幅の値を代入という意味。
    ( オブジェクトの幅は A 列 ~ D 列 になる )

 

ex)
グラフを作成し、位置を C4 に設定・大きさを C4:J20 範囲に設定

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

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

f:id:koshinRan:20180118073100p:plain
//※キャプチャ ↑ のセル範囲はプログラム実行後に手で選択した。

ChartObjects(1) は、名前を付けて
    ChartObjects("testChart")
のようにもかける。

名前を付ける際は、
    ActiveSheet.ChartObjects(1).Name = "testChart"

 

 

こちらから。
http://officetanaka.net/excel/vba/graph/04.htm
https://msdn.microsoft.com/ja-jp/vba/excel-vba/articles/shape-height-property-excel
https://msdn.microsoft.com/ja-jp/vba/excel-vba/articles/shape-width-property-excel

以上。