1

我目前正在尝试使用数据填充图表,用户只需按下电子表格上的按钮即可。我遇到的问题是我需要将数据复制到数据表的按钮,然后图表将从数据表中填充。我可以这样做,但我需要在图表上为每个新数据创建一个新系列

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
4

1 回答 1

1

添加数据后只需更改.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

当您运行代码时,图表将自动显示新系列。

在此处输入图像描述

于 2013-02-15T15:54:13.713 回答