特定の Excel ファイルのデータを操作してピボット テーブルを生成するアドインがあります。ピボット テーブルが更新されたら、このアドインからコードを実行する必要があります。
このイベントをキャプチャして、アドインからアクションをトリガーする方法を知りたいです。
他のサイトでそれについての議論を見たことがありますが、残念ながら私はそれらを理解することができません. 可能であれば、例を教えてください。
あなたの質問を理解したら、アドイン コード内に次を追加します。
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
私は次のコードでこれを行うことができました。
アドインの 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