刷新数据后运行macros

我需要在表/数据透视表中的数据刷新后运行一个macros。 我的表正在从数据库中读取数据,所以我希望在刷新后运行macros。 我将如何使用VBA来做到这一点。 我试过以下。

Private Sub Worksheet_PivotTableUpdate(ByVal target As PivotTable) Application.Run "overrideManagers" 'Is this right? End Sub Sub overrideManagers() 'Macro to be run upon refresh of data MsgBox "Hello" End Sub 

我没有得到预期的结果。 我只是得到刷新,但没有MsgBox 。 即使我将MsgBox移到这个。

 Private Sub Worksheet_PivotTableUpdate(ByVal target As PivotTable) MsgBox "Hello" End Sub 

我得到相同的结果。 这导致我认为我的原始方法来捕捉更新是错误的。 有任何想法吗?

这可能有点冗长的答案。 我会尽力解释清楚。

以下是我所遵循的步骤

  1. 用一个简单的表格和数据创build一个新的Excel工作簿(Sheet1)
  2. 为该数据创build数据透视表(另一表中的数据透视表 – Sheet2)

在这里输入图像说明 3.在Sheet2的macros编辑器中添加了以下代码

 Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable) MsgBox "update" End Sub 

4.选中Sheet2,右键点击数据透视表并刷新。 消息框显示 在这里输入图像说明

希望这可以帮助。