假設"chart_sheet"
是你Chart
和"data_sheet"
的名稱是您Worksheet
的名字,我想你要做到以下幾點:
Charts("chart_sheet").SetSourceData Source:=Worksheets("data_sheet").Range("A1:A20")
你With
塊沒有做任何事情有用 - With
塊的目的是讓您只需輸入.
作爲Worksheets("data_sheet").
之類的快捷方式。
因此,像:
With Sheets("chart_sheet")
.SetSourceData Source:=Worksheets("data_sheet").Range("A1:A20")
End With
會的工作,因爲.SetSourceData
是Sheets("chart_sheet").SetSourceData
的縮寫。 (還要注意,Sheets
集合包含兩個Worksheets
和Charts
對象,所以Charts("chart_sheet")
和Sheets("chart_sheet")
都指向相同的東西。)
ActiveChart
是指當前活動的圖表,就如同ActiveSheet
返回到當前片。如果在執行該代碼段時沒有活動圖表,則會出現錯誤。
所以下面這段代碼會也可能已經爲你服務:
Sheets("chart_sheet").Activate
ActiveChart.SetSourceData Source:=Worksheets("data_sheet").Range("A1:A20")
你驗證chart_sheet確實存在? – h2so4
返回的錯誤:在這一行中'對象變量或With塊變量未設置'ActiveChart.SetSourceData Source:= Sheets(「data_sheet」)。Range(「A1:A20」)' – user2991243