在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”,你最近有很多帖子,你不需要感谢帮助你的人。对不起,我已经把它标记为答案了,谢谢你的帮助