我已發現解決方案,爲引用一個整行/列或表(e.g. The VBA Guide To ListObject Excel Tables)範圍內的單細胞,但不是在特定的範圍的一部分。僅作參考Excel表格數據本體範圍帶VBA
示例:Table1的DataBodyRange是3列和10行,我需要在每列中繪製4-10行的數據(以編程方式繪製,因爲表是動態的,我希望能夠重新繪製如果列被添加/移除,則情節)。
我希望的語法是這樣的
Sub reDrawChart()
Set sourcedata = ActiveSheet.ListObjects("Table1")
Set cht = Worksheets("Sheet1").ChartObjects(1).Chart
'Delete existing series
cht.ChartArea.ClearContents
'Add new series
With cht.SeriesCollection.NewSeries
For i = 1 To nColumns
.Name = sourcedata.HeaderRowRange(i)
.Values = sourcedata.DataBodyRange(4:10, i) '<-- Touble spot
Next i
End With
End Sub
但這不起作用。有沒有辦法做我想用這一行做什麼?我應該解決它並尋求不同的解決方案嗎?
我也想避免使用。因爲在Mac OS上感覺就像任何使VBA口吃的代碼有50/50的機會崩潰到桌面。