Excel VBAでワークシートにあるグラフの大きさ(高さや幅)を設定する記録です。
下図はExcel2016です。
< スポンサーリンク >
Height、Width構文
式.Height
オブジェクトの高さをポイント単位で表す倍精度浮動小数点型(Double)の値を取得、または設定します。
式.Width
オブジェクトの幅をポイント単位で表す倍精度浮動小数点型(Double)の値を取得、または設定します。
グラフの高さや幅を変更する例
アクティブシートの1つ目のグラフの高さと幅を200に設定してみます。
Sub test()
With ActiveSheet.ChartObjects(1)
.Height = 200
.Width = 200
End With
End Sub
アクティブシートの2つ目のグラフの高さと幅を1つ目のグラフに合わせてみます。
Sub test()
With ActiveSheet
.ChartObjects(2).Height = ChartObjects(1).Height
.ChartObjects(2).Width = ChartObjects(1).Width
End With
End Sub
グラフの大きさをセルの大きさにきっちり合わせる
アクティブシートの全てのグラフの高さを1~11行の高さと同じに、幅をE~H列と同じ幅にし、グラフの左上隅のセルと同じ位置にしてみます。
Sub test()
Dim h As Variant
Dim w As Variant
Dim i As Long
With ActiveSheet
h = .Rows(“1:11”).Height
w = .Columns(“E:H”).Width
For i = 1 To .ChartObjects.Count
.ChartObjects(i).Top = .ChartObjects(i).TopLeftCell.Top
.ChartObjects(i).Left = .ChartObjects(i).TopLeftCell.Left
ChartObjects(i).Height = h
.ChartObjects(i).Width = w
Next i
End With
End Sub
こんな記事も書いています