0

我有一个加载项,它操作特定 excel 文件中的数据以生成数据透视表。更新数据透视表时,我需要从此加载项运行一段代码。

我想知道如何捕获此事件并从加载项触发操作。

我在其他网站上看到过关于它的讨论,但不幸的是我无法理解它们。如果可能的话,请帮我举个例子。

4

2 回答 2

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
于 2013-07-30T14:13:44.033 回答
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
于 2013-07-26T12:36:15.033 回答