我有一个加载项,用于处理特定excel文件中的数据以生成数据透视表。我需要在更新数据透视表时从这个加载项运行一段代码。
我想知道如何捕获此事件并从加载项触发操作。
我在其他网站上看到过关于它的讨论,但不幸的是我无法理解它们。如果可能的话,请帮我举个例子。
答案 0 :(得分:0)
如果我理解您的问题,请在加载项代码中添加:
Dim WithEvents pivotsheet as Worksheet
...
'Somewhere in your code...
Set pivotsheet = ...
...
Private Sub pivotsheet_PivotTableAfterValueChange(ByVal TargetPivotTable As PivotTable, ByVal TargetRange As Range)
'Action
End Sub
答案 1 :(得分:0)
我设法使用以下代码执行此操作。
以下代码已添加到加载项的ThisWorkbook对象
Dim RTMApp As New RTMEvents
Private Sub Workbook_Open()
Set RTMApp.RTM_App = Application
End Sub
然后我将以下代码添加到名为“RTMEvents”
的新类中Public WithEvents RTM_App As Application
Private Sub RTM_App_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable)
Code.DoPercentageCalculation '(calling the macro to execute)
End Sub