使用VBA中的Loop创建图表(来自模板)

时间:2018-04-04 19:46:04

标签: excel vba excel-vba loops

我正在尝试为电子表格中的每一行创建多个图表。我已经设法能够创建一个循环但我仍然坚持如何更改新图表的相应选定行的数据源。

Sub Macro6()

    Range("B2").Select
    ActiveCell.Range("A1:I1").Select
    ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
    ActiveChart.ApplyChartTemplate ( _
        "C:\Users\arboari\AppData\Roaming\Microsoft\Templates\Charts\Education.crtx")
    ActiveChart.SetSourceData Source:=Range("'Master Sheet'!$B$2:$J$2")
    ActiveChart.Parent.Cut
    Sheets("Charts").Select
    ActiveSheet.Paste
    Sheets("Master Sheet").Select
    ActiveCell.Offset(1, 0).Range("A1:I1").Select

    For Counter = 1 To 10
        ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
        ActiveChart.ApplyChartTemplate ( _
            "C:\Users\arboari\AppData\Roaming\Microsoft\Templates\Charts\Education.crtx")
        **ActiveChart.SetSourceData Source:=Range("'Master Sheet'!$B$2:$J$2")**
        ActiveChart.Parent.Cut
        Sheets("Charts").Select
        ActiveSheet.Paste
        Sheets("Charts").Select
        Sheets("Master Sheet").Select
        ActiveCell.Offset(1, 0).Range("A1:I1").Select
    Next Counter

End Sub

星号之间的线是我试图相对的,因为它的绝对值因此使新图的数据源始终是B2-J2线。

谢谢!

1 个答案:

答案 0 :(得分:0)

刚刚使用过它并且运行正常。不过,您肯定希望从此处删除所有InnerExceptionActiveSheetSelect / Cut

Paste