刷新数据后运行宏

时间:2016-06-28 21:25:44

标签: excel vba excel-vba

我需要在刷新表/数据透视表中的某些数据后运行宏。我的表是从数据库中读取数据,所以我希望宏在刷新后运行。我如何使用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 个答案:

答案 0 :(得分:2)

这可能是一个有点冗长的答案。我会尝试清楚解释。

以下是我遵循的步骤

  1. 使用简单的表格和数据(Sheet1)
  2. 创建了一个新的Excel工作簿
  3. 为该数据创建了一个数据透视表(另一个工作表中的数据透视表 - Sheet2)
  4. enter image description here 3.在Sheet2

    下的宏编辑器中添加了以下代码
    Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
       MsgBox "update"
    End Sub
    

    4。选择Sheet2,右键单击数据透视表并刷新。显示消息框 enter image description here

    希望这有帮助。