我可以一次更新多个 Excel 2007 数据透视表数据下拉列表吗?

我可以一次更新多个 Excel 2007 数据透视表数据下拉列表吗?

我在 Excel 2007 中大约有 50 个数据透视表,需要每天更新下拉菜单几次,以反映我拥有的数据页面中的多条数据。为了恢复这些图表,一遍又一遍地更新每个表格非常耗时。有没有办法在一个地方更新它们,也许引用一个单元格而不是更新每个下拉菜单?

答案1

不幸的是,我认为 Excel 没有内置方法来更新所有数据透视表。

我将通过记录更新每个数据透视表的宏,然后将该宏链接到一个按钮来实现这一点。如果这对您来说是一个不熟悉的领域,请告诉我,我可以进一步详细说明。

答案2

我最近需要这个,所以做了一些修改。也许有人会觉得它有用。

我有一些按日历周汇总今年迄今数据的数据透视图。我录制了一个宏 [Office 2016:查看-宏-记录宏],并检查了最后一个 CW 是否包含在所有单个数据透视表的行标签中,从而包含在图表中。然后我停止了宏并进入编辑模式 ( Alt+ F11),并在模块 1 中找到代码。

然后,我将工作表中的单元格 C2 设置为始终为上周的周数 [ =WEEKNUM(Today())-1],设置一个等于该单元格值的变量,并使用以下代码将录制的宏中的选择替换为变量名:

Dim i As Integer

Sub CW_Update()

' Keyboard Shortcut: Ctrl+Shift+J

i = Cells(1, 3).Value

    With ActiveSheet.PivotTables("PivotTable1").PivotFields("CW")
        .PivotItems(i).Visible = True
    End With
    With ActiveSheet.PivotTables("PivotTable2").PivotFields("CW")
        .PivotItems(i).Visible = True
    End With
    With ActiveSheet.PivotTables("PivotTable3").PivotFields("CW")
        .PivotItems(i).Visible = True
    End With
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("CW")
        .PivotItems(i).Visible = True
    End With
    With ActiveSheet.PivotTables("PivotTable5").PivotFields("CW")
        .PivotItems(i).Visible = True
    End With
    With ActiveSheet.PivotTables("PivotTable6").PivotFields("CW")
        .PivotItems(i).Visible = True
    End With
        With ActiveSheet.PivotTables("PivotTable7").PivotFields("CW")
        .PivotItems(i).Visible = True
    End With

End Sub

现在,每个星期一当我查看统计数据时,只需按Ctrl++ ,所有内容就会自动更新。ShiftJ

相关内容