0

嗨,我是新站点,我希望是一个我无法弄清楚的简单解决方案。

我有一个工作簿,其中有 10 个相同的选项卡,每个选项卡都有不同的数据。我创建了一个新选项卡,它引用选项卡 1 来绘制我拥有的各种数据。我正在查看大约 20 个图表,现​​在我想对剩余的 9 个选项卡进行相同的图形分析,同时创建 9 个新选项卡。

我似乎可以这样做的唯一方法是复制图表,然后更改每个图表中的数据源,这需要几个小时。有什么我遗漏的东西,还是有一个宏可以让这变得更容易?

非常感谢您的回答。

4

1 回答 1

0

我以前不得不搞乱动态添加图表。这是一个稍微修改过的片段,你可以弄乱。为简单起见,假设您的范围是当前工作表的 A1:B20。

Sub AddChart()
Dim ws as worksheet
For each ws in ThisWorkbook.Sheets
        'ADD CHART. . .
        ws.Shapes.AddChart.Select
        ActiveChart.SetSourceData Source:=ws.Range("A1:B20")

        'this makes the chart a certain size, fitted to a cell range.
        Dim RngToCover As Range
        Dim ChtOb As ChartObject
        Set RngToCover = ws.Range("c4:f8") 'chart will be the size of c4:f8
        Set ChtOb = ActiveChart.Parent
        ChtOb.Height = RngToCover.Height ' resize
        ChtOb.Width = RngToCover.Width ' resize
        ChtOb.Top = RngToCover.Top ' reposition
        ChtOb.Left = RngToCover.Left ' reposition


    'random other stuff I did with labels etc.
    ws.Unprotect
        ActiveChart.HasLegend = False
        ActiveChart.ChartTitle.Text = "Age Statistics"
        ActiveChart.SeriesCollection(1).ApplyDataLabels
    ws.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
            False, AllowSorting:=True

  'go to next worksheet
Next ws
于 2013-04-20T05:03:23.060 回答