我目前正在尝试使用数据填充图表,用户只需按电子表格上的按钮即可。我遇到的问题是我需要按钮将数据复制到数据表,然后图表将从数据表中填充。我可以做到这一点,但我需要在图表上为每个新数据创建一个新系列
Sub RoundedRectangle2_Click()
End Sub
Sub MAPS()
Sheets("MAPS_FORM").Range("e47").Copy
Sheets("Data_Sheet").Range("b65536").End(xlUp).Offset(1, 0).PasteSpecial _
Paste:=xlPasteValues
Application.CutCopyMode = False
Sheets("MAPS_FORM").Range("d2").Copy
Sheets("Data_Sheet").Range("a65536").End(xlUp).Offset(1, 0).PasteSpecial _
Paste:=xlPasteValues
Application.CutCopyMode = False
Sheets("Data_Sheet").Range("b2:b46").Copy
Charts("Chart1").SeriesCollection.Paste
Range("e6:i8").ClearContents
Range("e12:i19").ClearContents
Range("e23:i27").ClearContents
Range("e31:i36").ClearContents
Range("e40:i43").ClearContents
Range("d2").ClearContents
Sheets("Data_Sheet").Select
End Sub
答案 0 :(得分:0)
添加数据后,只需更改.SetSourceData
属性即可。
我们举一个例子
假设您的数据来自A1:A5
,并且图表基于该范围。见下面的截图
现在假设您添加的数据来自B1:B5
,并希望在图表中显示为系列,然后只需使用此代码
Option Explicit
'~~> Please amend the code as applicable
Sub Sample()
Dim objChrt As ChartObject
Dim chrt As Chart
Set objChrt = ActiveSheet.ChartObjects("Chart 1")
Set chrt = objChrt.Chart
With chrt
.SetSourceData (ActiveSheet.Range("A1:B5"))
End With
End Sub
当您运行代码时,图表将自动显示新系列。