將圖表排列成網格
在 Excel 中使用圖表的常見工作是在單張紙上標準化多個圖表的大小和佈局。如果手動完成,你可以 ALT 在調整圖表大小或移動圖表時按住 貼上到單元格邊界。這適用於幾個圖表,但 VBA 方法更簡單。
用於建立網格的程式碼
此程式碼將建立一個圖表網格,從給定(頂部,左側)位置開始,具有已定義的列數和已定義的常用圖表大小。圖表將按照建立順序放置,並圍繞邊緣以形成新行。
Sub CreateGridOfCharts()
Dim int_cols As Integer
int_cols = 3
Dim cht_width As Double
cht_width = 250
Dim cht_height As Double
cht_height = 200
Dim offset_vertical As Double
offset_vertical = 195
Dim offset_horz As Double
offset_horz = 40
Dim sht As Worksheet
Set sht = ActiveSheet
Dim count As Integer
count = 0
'iterate through ChartObjects on current sheet
Dim cht_obj As ChartObject
For Each cht_obj In sht.ChartObjects
'use integer division and Mod to get position in grid
cht_obj.Top = (count \ int_cols) * cht_height + offset_vertical
cht_obj.Left = (count Mod int_cols) * cht_width + offset_horz
cht_obj.Width = cht_width
cht_obj.Height = cht_height
count = count + 1
Next cht_obj
End Sub
幾個圖表的結果
這些圖片顯示了圖表的原始隨機佈局以及執行上述程式碼的結果網格。