用VBA刷新Excel中的数据透视表(5个例子)

  • Share This
Hugh West

实施 VBA宏 是在Excel中运行任何操作的最有效、最快速和最安全的方法。 在这篇文章中,我们将向你展示如何将 使用VBA刷新Excel中的透视表。

下载工作手册

你可以从这里下载免费的练习Excel工作簿。

用VBA刷新透视表.xlsm

在Excel中用VBA刷新数据透视表的5个例子

以下是我们的透视表的例子,我们将在整篇文章中使用它,并向你展示5个不同的例子 刷新透视表 在Excel中用 VBA 代码。

1.用VBA刷新Excel中的一个透视表

如果你想 只刷新一个透视表 然后在你的Excel工作表中。

  • 新闻 Alt + F11 在你的键盘上,或进入标签 开发人员 -> Visual Basic 打开 Visual Basic编辑器 .

  • 在弹出的代码窗口中,从菜单栏中,点击 插入 -> 模块 .

  • 复制以下代码并将其粘贴到代码窗口。
 Sub RefreshOnePivotTable() ActiveSheet.PivotTables("PivotTable1").RefreshTable End Sub 

你的代码现在可以运行了。

在这里。 PivotTable1 是我们的透视表名称。 你写下你的透视表的名称。

  • 新闻 F5 在你的键盘上选择"",或从菜单栏中选择 运行-> 运行Sub/UserForm 你也可以直接点击 小的播放图标 子菜单栏中的 "运行宏"。

这将 刷新透视表 在你现有的Excel工作表中。

阅读更多。 数据透视表不刷新(5个问题& 解决方案)

2.刷新活动工作表中所有透视表的宏程序

要刷新活动工作表中的所有透视表 请按照以下步骤操作。

  • 与之前的方法一样,打开 Visual Basic编辑器 开发商 选项卡和 插入 a 模块 在代码窗口中。
  • 在代码窗口,复制以下代码并粘贴。
 Sub RefreshActiveSheetPivotTables() Dim PivotTbl As PivotTable For Each PivotTbl In ActiveSheet.PivotTables PivotTbl.RefreshTable Next PivotTbl End Sub 

你的代码现在可以运行了。

  • 运行 宏,活动工作表中的所有透视表将被刷新。

阅读更多。 如何刷新Excel中的所有数据透视表

3.刷新多个工作簿中所有透视表的VBA代码

如果你想 刷新多个工作簿中的所有透视表 立即与 VBA 代码,那么步骤是。

  • 开放式 Visual Basic编辑器 开发商 选项卡和 插入 a 模块 在代码窗口中。
  • 在代码窗口,复制以下代码并粘贴。
 Sub RefreshAllPivotTables() Dim PivotTbl As PivotTable For Each PivotTbl In ActiveWorkbook.PivotTables PivotTbl.RefreshTable Next PivotTbl End Sub 

你的代码现在可以运行了。

  • 运行 代码,你所有打开的Excel工作簿中的所有透视表都将被刷新。

请记住 以保持所有的工作簿 开放 在运行这段代码时。

类似读物

  • 如何在Excel中编辑透视表(5种方法)
  • 更新透视表范围(5种合适的方法)
  • 如何在源数据变化时自动更新透视表

4.在Excel中用VBA刷新数据透视表缓存

如果你的工作簿中有多个使用相同数据的透视表,你可以 只刷新透视表的缓存 刷新缓存会自动清除缓存中使用相同数据连接的所有数据透视表的缓存内存,而不是一直刷新实际透视表。

做到这一点的步骤是。

  • 开放式 Visual Basic编辑器 开发商 选项卡和 插入 a 模块 在代码窗口中。
  • 在代码窗口,复制以下代码并粘贴。
 Sub RefreshPivotTableCache() Dim PivotCache As PivotCache For Each PivotCache In ActiveWorkbook.PivotCaches PivotCache.Refresh Next PivotCache End Sub 

你的代码现在可以运行了。

  • 运行 的代码,所有透视表的缓存将被清除。

阅读更多。 如何在Excel中不用VBA自动刷新数据透视表(3种聪明方法)

5.用VBA宏在改变数据时自动刷新透视表

如果你有一个拥有大量数据的数据透视表,而你只想更新几个数据,同时让整个表不被触动,怎么办? 在Excel中,你可以 自动刷新透视表 的同时更新数据,用 VBA .

  • 开放式 Visual Basic编辑器 开发者。
  • 在编辑器的左侧,会有一个 项目探索者 窗格,其中有所有工作表的名称。
  • 项目探索者 ,双击包含透视表的工作表名称。

  • 代码窗口将出现,我们将在这里创建一个事件宏。 选择 工作表 宗旨 这将在代码模块左边的下拉框中添加一个 工作表_选择改变 事件的模块,实际上我们不需要它,所以我们以后会删除这段代码。
  • 然后点击 程序 下拉列表并选择 变化 这将在代码模块的顶部添加一个新的事件,名为 工作表_变化 我们将在这里写下我们的代码,以便 删除 所产生的代码。 工作表_选择改变

  • 现在复制以下代码并将其粘贴到 工作表_变化
 Private Sub Worksheet_Change(ByVal Target As Range) Worksheets("PivotTbl").PivotTables("PivotTable1").PivotCache.Refresh End Sub 

你的代码现在可以运行了。

在这里。 PivotTbl 是我们Excel工作簿中的工作表名称,而 PivotTable1 是我们的透视表名称。 你写下你的工作表和透视表的名称。

  • 现在,每当你改变工作表中原始数据表的数据时,数据透视表中的数据就会自动更新。

阅读更多。 如何在Excel中自动刷新数据透视表

总结

这篇文章告诉你如何 刷新透视表 在Excel中用 VBA 我希望这篇文章对你非常有益。 如果你对这个主题有任何疑问,请随时提问。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.