0
我正在用多個圖表構建儀表板屏幕。我在他們各自的構建函數中聲明圖表就像這樣。使用VBA爲多個圖表設置圖表大小
Dim chartGallonsComp as ChartObject
Set chartGallonsComp = wsDest.ChartObjects.Add(Left:=0, Top:=45, Width:=240, Height:=180)
因爲我有多個圖表,我要傳遞給函數的方法是使用下面
Dim chartSalesComp As ChartObject, chartGallonsComp As ChartObject
Dim chartCustomers As ChartObject
Dim ws As Worksheet
ws = Sheets("Dashboard")
Dim aryChartOneDimensions(), aryChartTwoDimensions()
Dim aryChartThreeDimensions()
aryChartOneDimensions = Array(0, 45, 240, 180)
aryChartTwoDimensions = Array(240, 45, 240, 180)
aryChartThreeDimensions = Array(480, 45, 240, 180)
With ws
Set chartGallonsComp = ws.ChartObjects.Add(Left:=aryChartOneDimensions(1), Top:=aryChartOneDimensions(2),
Width:=aryChartOneDimensions(3),
, Height:=aryChartOneDimensions(4))
End With
我敢肯定,這是可行的。新增方法的參數,我只是不能語法正確。我試過很多方法,包括公式語法
Left:="=aryChartOneDimensions(1)"
但我的嘗試都沒有奏效。如果這可以完成,請賜教。
是的,一直使用C#現在時間太長了,有點生疏,可以回到vba的電子表格。這確實有效。所以要在函數中傳遞該數組?... SomeFunction(ByRef ary()as integer) – dinotom
這應該工作 –
@TimWilliams ...它不喜歡整數,但變體作品 – dinotom