Charts 如何在excel中为一组过滤后的原始数据创建多个图表/报告?
我正在用Excel 2007为我的工作制作一套报告。Charts 如何在excel中为一组过滤后的原始数据创建多个图表/报告?,charts,excel,reporting,vba,Charts,Excel,Reporting,Vba,我正在用Excel 2007为我的工作制作一套报告。 我得到了一组原始数据,这些数据被组织成一个excel表格。 这些原始数据将发生变化,因此我试图制作的报告需要允许这种情况。 我还得到了一套模板图表。 这些将分别用于反映我的原始数据中22个不同组的结果。对于每个组,图表都是相同的,但是必须为每个组创建一个新的工作表(带有一组图表) 我已经花了很多时间试图这样做,我想我走错了方向。 这是我制作的一个宏的摘要,它接近于给出最终结果(我最终复制并粘贴了所有组) 仅为组筛选原始数据 复制整张纸 仅作为
我得到了一组原始数据,这些数据被组织成一个excel表格。 这些原始数据将发生变化,因此我试图制作的报告需要允许这种情况。 我还得到了一套模板图表。 这些将分别用于反映我的原始数据中22个不同组的结果。对于每个组,图表都是相同的,但是必须为每个组创建一个新的工作表(带有一组图表) 我已经花了很多时间试图这样做,我想我走错了方向。 这是我制作的一个宏的摘要,它接近于给出最终结果(我最终复制并粘贴了所有组)
这真的是做这种事情最简单的方法吗?为每个组复制宏已经做了很多工作。为每组的每个图表分配数据。另外,我的工作簿中现在有67张工作表。这是pivot表可以做得更容易的事情吗?我假设这些组是预定义的?如果是这样,我会创建动态电子表格
Public Sub SetAutoFilter(ByVal GroupName As String)
Me.AutoFilterMode = False
Dim intRow As Long: intRow = Me.Range("B65536").End(xlUp).Row
If intRow = 1 Then Exit Sub 'nothing to filter
With Me.Range(Cells(1,1), Cells(intRow, 23)) '23 columns
.AutoFilter
.AutoFilter Field:=1, Criteria1:=GroupName
End With
End Sub
这样,您将有一个代码来过滤数据,而不必反复复制数据GetPositionCount = Application.WorksheetFunction.Subtotal(2, Me.Columns(7))
它对过滤后的数据起作用ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, To:=1
嗯。(代码取自现实生活中的解决方案,因此希望它能工作)如果不知道原始数据结构,很难给出有用的答案。听起来这是一个很好的超级用户问题,因为它与编程无关。