首页 > 解决方案 > Excel 宏为不同的值创建图表

问题描述

您好,我在 Excel 中使用约 25000 行的数据表工作。每行都有一个产品代码、日期和重量列。我想创建一个宏,为每个产品代码生成权重散点图(x 轴上的日期,y 轴上的权重)。我有按产品代码排序的数据,还有第 4 列,用于标识一行何时有前一个的新产品代码。

在此处输入图像描述

我已经记录了一个宏,我在其中为产品代码创建了一个图表,但我不确定如何修改它,以便它可以遍历整个工作表并将具有相同代码的行分组并为每个行创建一个图表。

我已经包含了我的数据的屏幕截图。这是录制的宏的代码:

Sub Macro1()
'
' Macro1 Macro
' graph
'
' Keyboard Shortcut: Ctrl+g
'
    Range("B12:B19,D12:D19").Select
    Range("D12").Activate
    Charts.Add2
    ActiveChart.SetSourceData Source:=Range( _
        "'Cleaned Up'!$B$12:$B$19,'Cleaned Up'!$D$12:$D$19")
    ActiveChart.ChartType = xlXYScatter
    Sheets("Cleaned Up").Select
End Sub

提前感谢您的帮助!

标签: excelvba

解决方案


您希望通过代码进行汇总并通过图表进行汇总这一事实使我认为您最好使用数据透视表。

您通常不能将散点图作为数据透视图。但是您可以使用此解决方法使散点图与数据透视图一起使用。

所以我会在一张纸上格式化原始数据。使用您的聚合值/自定义摘要创建数据透视。然后使用枢轴分散工作。

将工作簿保留为各种模板。因此,当您想要重新创建分析时,您不需要宏。您只需在数据选项卡上插入一组新数据,刷新数据透视表,图表就会显示您的散点图。


推荐阅读