建立帶有範圍和固定名稱的圖表
可以通過直接使用定義圖表資料的 Series
物件來建立圖表。為了在沒有現有圖表的情況下到達 Series
,你可以在給定的 Worksheet
上建立一個 ChartObject
,然後從中獲取 Chart
物件。使用 Series
物件的好處是你可以通過參考 Range
物件來設定 Values
和 XValues
。這些資料屬性將正確定義 Series
並引用這些範圍。這種方法的缺點是在設定 Name
時不會處理相同的轉換; 它是固定值。它不會根據原始 Range
中的基礎資料進行調整。檢查 SERIES
公式,很明顯名稱是固定的。這必須通過直接建立 SERIES
公式來處理。
用於建立圖表的程式碼
請注意,此程式碼包含 Chart
和 Worksheet
的額外變數宣告。如果不使用它們,可以省略。但是,如果要修改樣式或任何其他圖表屬性,它們可能很有用。
Sub CreateChartWithRangesAndFixedName()
Dim xData As Range
Dim yData As Range
Dim serName As Range
'set the ranges to get the data and y value label
Set xData = Range("B3:B12")
Set yData = Range("C3:C12")
Set serName = Range("C2")
'get reference to ActiveSheet
Dim sht As Worksheet
Set sht = ActiveSheet
'create a new ChartObject at position (48, 195) with width 400 and height 300
Dim chtObj As ChartObject
Set chtObj = sht.ChartObjects.Add(48, 195, 400, 300)
'get reference to chart object
Dim cht As Chart
Set cht = chtObj.Chart
'create the new series
Dim ser As Series
Set ser = cht.SeriesCollection.NewSeries
ser.Values = yData
ser.XValues = xData
ser.Name = serName
ser.ChartType = xlXYScatterLines
End Sub
程式碼執行後的原始資料/範圍和生成的 Chart
請注意,SERIES
公式包含系列名稱的 B
,而不是對建立它的 Range
的引用。