0
因此,我有一個電子表格,數據跨越了A2到AF17,我隱藏了大部分列,現在只有列:I,AB,AD,AF顯示,其中列I是我想要的範圍作爲軸標籤範圍,列AF作爲值範圍。VBA圖表:直到最後一個非空行作爲源數據的範圍
我編碼以下內容來創建動態使用範圍,直到最後一個非空行作爲值的曲線圖:
Private Sub CommandButton2_Click()
Dim MyEmbeddedChart As Chart
Set MyEmbeddedChart = Sheets("Analysis").Shapes.AddChart(Width:=634, Height:=250).Chart
With MyEmbeddedChart
.ChartType = xlBarClustered
.ChartStyle = 339
.SetSourceData Source:=Sheets("Analysis").Range("AF2", Cells(Rows.Count, 1).End(xlUp))
.Legend.Delete
.Axes(xlValue).Delete
.Axes(xlValue).MajorGridlines.Format.Line.Visible = msoFalse
.ApplyDataLabels
End With
End Sub
現在雖然所得圖表自動顯示列我作爲軸標籤範圍內,則僅因爲列I現在是最左邊的可見列。也就是說,實際上源數據範圍是A2:AF17,而軸標籤範圍實際上是A2:AD17。而且,當我取消隱藏列時,軸標籤自然會變得混亂。
儘管當前的圖表服務於我的目的,但它絕對不是理想的。那麼如何將源數據精確地設置爲列I作爲軸標籤範圍和列AF作爲值範圍,同時繼續使用最後一個非空行方法?
我還是比較新的VBA,任何幫助表示讚賞。