Excelでグラフの中身(下の図で黒枠の部分)のサイズを設定するためのVBAです。すべてのグラフに適用するように書き換えれば一括でサイズ指定することもできます。
'チャートエリアエリアサイズ
ActiveChart.ChartArea.Height = 500
ActiveChart.ChartArea.Width = 400
'プロットエリアサイズ
ActiveChart.PlotArea.Height = 300 + ActiveChart.Axes(xlCategory).Height
ActiveChart.PlotArea.Width = 350+ ActiveChart.Axes(xlValue).Width
説明
ChartObjectは図のような構造なっています。
まずPlotAreaはChartArea内にあるためChartAreaの高さ・幅より大きくは設定できません。
そのため先にChartAreaのサイズを広げておきます。
次に、PlotAreaは軸ラベルの領域を含むため、普通にサイズを設定すると軸ラベルのサイズが異なる場合グラフ本体の枠のサイズはばらばらになります。ですから
+ActiveChart.Axes(xlCategory).Height
+ActiveChart.Axes(xlValue).Width
の部分でそれぞれx軸ラベルの高さ、y軸ラベルの幅をプロットエリアに加えて補正しています。