在VBA中动态更改图表系列

在VBA中动态更改图表系列,vba,excel,Vba,Excel,我试图实现动态图表的时间序列 为此,我将数据订单中的日期和利润从我的原始数据复制到另一张工作表中,在那里我将使用它动态创建图表 但这给了我一个错误。在我创建范围的地方,有没有更好的方法 Sub ChartDataSeries() Dim ws As Worksheet Dim ws1 As Worksheet Dim rng As Range Set ws = Sheets("Data - Orders") Set ws1 = Sheets("Shee

我试图实现动态图表的时间序列

为此,我将数据订单中的日期和利润从我的原始数据复制到另一张工作表中,在那里我将使用它动态创建图表

但这给了我一个错误。在我创建范围的地方,有没有更好的方法

Sub ChartDataSeries()

    Dim ws As Worksheet
    Dim ws1 As Worksheet
    Dim rng As Range

    Set ws = Sheets("Data - Orders")
    Set ws1 = Sheets("Sheet10")
    ws.Range("C:C").Copy 'Source Copy Order Date
    ws1.Activate
    ws1.Range("B1").Select 'Paste Order Date
    ActiveSheet.Paste

    ws.Range("I:I").Copy 'Copy Profit Series
    ws1.Activate
    ws1.Range("C1").Select
    ActiveSheet.Paste ' Paste Profit Series
    ws1.Range("B1").Select
    Set rng = Range(Selection, Selection.End(xlToRight)).Select ' Error Ocurring here
    ActiveSheet.ChartObjects("Chart 7").Activate
    ActiveChart.SetSourceData Source: rng.Select
    'ActiveChart.SeriesCollection(1).XValues = Range("Order Date")
    'ActiveChart.SeriesCollection(1).Values = Range("Profit")



End Sub

最好远离这些
激活
选择
选择
活动图表
,等等

更换以下4条线路:

ws1.Range("B1").Select
Set rng = Range(Selection, Selection.End(xlToRight)).Select ' Error Ocurring here
ActiveSheet.ChartObjects("Chart 7").Activate
ActiveChart.SetSourceData Source: rng.Select
在这2个方面:

Set Rng = ws1.Range(ws1.Range("B1"), ws1.Range("B1").End(xlToRight))
ActiveSheet.ChartObjects("Chart 7").Chart.SetSourceData Source:=Rng

最好远离这些
激活
选择
选择
活动图表
,等等

更换以下4条线路:

ws1.Range("B1").Select
Set rng = Range(Selection, Selection.End(xlToRight)).Select ' Error Ocurring here
ActiveSheet.ChartObjects("Chart 7").Activate
ActiveChart.SetSourceData Source: rng.Select
在这2个方面:

Set Rng = ws1.Range(ws1.Range("B1"), ws1.Range("B1").End(xlToRight))
ActiveSheet.ChartObjects("Chart 7").Chart.SetSourceData Source:=Rng

@Avabhiseek您不能
设置
范围
对象,并且
在同一行选择它。你需要一行代码来设置,而且你真的不需要选择它来作为图表的设置资源数据。请把这个标记为“ASNWER”,你最近有很多帖子,你不需要感谢那些帮助过你的人对不起,我把它标记为答案,谢谢你的邀请help@avabhishiek您不能
设置
范围
对象,并且
在同一行选择它。你需要一行代码来设置,而且你真的不需要选择它来作为图表的设置源数据。请把这个标记为“ASNWER”,你最近有很多帖子,你不需要感谢帮助你的人。对不起,我已经把它标记为答案了,谢谢你的帮助