0

特定のピボット テーブル内の特定のワークシート内の変更をキャプチャする方法を見つけるのに苦労しています。

ピボットは「pivottable6」、ワークシートは「APAC」

このコードを APAC ワークシート モジュール内に配置しました。

Private Sub Worksheet_PivotTableChange(ByVal Target As Excel.PivotTable6)

With Target
 MsgBox "You performed an operation in the following PivotTable: " & .Name & " on " & Sh.Name
End With

End Sub

しかし、エラーが発生し続けます。それを修正する方法についてのアイデアはありますか?


Private Sub Workbook_SheetPivotTableChangeSync(ByVal Sh As Target, Target As PivotTable)

If Intersect(Target, ActiveSheet.PivotTables(1)) Is Nothing Then Exit Sub

MsgBox ("cat")

End If

End Sub

これはまだ USER TYPE NOT DEFINED ERROR が発生しています

4

3 に答える 3

0

あなたのコードはSh.Nameを利用していますが、Shは定義されていません。代わりに Me.Name を使用してください。

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)

    With Target
       MsgBox "You performed an operation in the following PivotTable: " & .Name & " on " & Me.Name
    End With

End Sub
于 2013-05-16T10:14:29.880 に答える
0

他の質問への回答として、IF ステートメントを次のように変更する必要があります。

Private Sub Workbook_SheetPivotTableChangeSync(ByVal Sh As Target, Target As PivotTable)

  If Intersect(Target, ActiveSheet.PivotTables(1)) Is Nothing Then 
     Exit Sub
  Else
    MsgBox ("cat")
  End If

 End Sub
于 2013-05-16T12:17:39.400 に答える