刷新数据后运行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
我得到相同的结果。 这导致我认为我的原始方法来捕捉更新是错误的。 有任何想法吗?
这可能有点冗长的答案。 我会尽力解释清楚。
以下是我所遵循的步骤
- 用一个简单的表格和数据创build一个新的Excel工作簿(Sheet1)
- 为该数据创build数据透视表(另一表中的数据透视表 – Sheet2)
3.在Sheet2的macros编辑器中添加了以下代码
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable) MsgBox "update" End Sub
4.选中Sheet2,右键点击数据透视表并刷新。 消息框显示
希望这可以帮助。