簡體   English   中英

使用VBA(EXCEL)從其他工作表中選擇圖表的數據范圍

[英]Select data range for a chart from different sheet using VBA (EXCEL)

如何使用VBA從其他工作表中選擇圖表的數據范圍? 假設數據表名稱為data_sheet ,圖表表名稱為chart_sheet ,而我的數據范圍為A1:A20 如何在Excel中做到這一點? 我檢查了此內容,但不適用於其他工作表。 否則,我檢查了此內容,但返回了以下錯誤:下Subscript out of range

 With Worksheets("chart_sheet")
       ActiveChart.SetSourceData Source:=Worksheets("data_sheet").Range("A1:A20")
 End With

假設"chart_sheet"Chart的名稱, "data_sheet"是您的Worksheet的名稱,我想您要執行以下操作:

Charts("chart_sheet").SetSourceData Source:=Worksheets("data_sheet").Range("A1:A20")

With塊沒有做什么有用的東西-的目的With塊,讓您只需鍵入. 作為Worksheets("data_sheet").類的快捷方式Worksheets("data_sheet").

所以像這樣:

With Sheets("chart_sheet")
    .SetSourceData Source:=Worksheets("data_sheet").Range("A1:A20")
End With

可以使用,因為.SetSourceDataSheets("chart_sheet").SetSourceData的縮寫。 (還要注意, Sheets集合同時包含WorksheetsCharts對象,因此Charts("chart_sheet")Sheets("chart_sheet")都指向同一對象。)


ActiveChart引用當前活動的圖表,就像ActiveSheet返回到當前工作表一樣。 如果執行該段代碼時沒有活動的圖表,則會出現錯誤。

因此以下代碼也可能為您工作:

    Sheets("chart_sheet").Activate
    ActiveChart.SetSourceData Source:=Worksheets("data_sheet").Range("A1:A20")

由於chart_sheet可能不是工作表,您嘗試過嗎?

with sheets("chart_sheet")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM