我有一个加载项,它操作特定 excel 文件中的数据以生成数据透视表。更新数据透视表时,我需要从此加载项运行一段代码。
我想知道如何捕获此事件并从加载项触发操作。
我在其他网站上看到过关于它的讨论,但不幸的是我无法理解它们。如果可能的话,请帮我举个例子。
我设法用下面的代码做到了这一点。
以下代码已添加到加载项的 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
如果我理解您的问题,请在加载项代码中添加:
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