3

ピボット テーブルのダブルクリックを傍受して、基になるデータを表示しないようにすることはできますか?

4

3 に答える 3

1

これを試して。

ロジック

  1. ピボット範囲を特定する
  2. イベントではWorksheet_BeforeDoubleClick、ユーザーがピボットをクリックしたかどうかを確認します
  3. ダブルクリックをキャンセルします

コード:このコードは、ピボットのあるワークシートコード領域に入ります(スクリーンショットを参照)

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim rng As Range

    '~~> This is your pivot table range. Change as applicable
    Set rng = Range("A1:D10")

    '~~> Check if the double click happend in the Pivot
    If Not Intersect(Target, rng) Is Nothing Then
        '~~> Cancel Double click
        Cancel = True
    End If
End Sub

スクリーンショット

ここに画像の説明を入力してください

于 2012-09-21T09:48:59.467 に答える
1

これは、Siddharth Rout の回答に基づいて完全に盗まれたものですが、シート上のすべてのピボット テーブルを調べて、いずれかをダブルクリックするとキャンセルされるため、より柔軟になります。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim rng As Range
    Dim wks As Worksheet
    Dim pt As PivotTable

    Set wks = Target.Worksheet
    For Each pt In wks.PivotTables()
        Set rng = Range(pt.TableRange1.Address)
        If Not Intersect(Target, rng) Is Nothing Then
            Cancel = True
        End If
    Next
End Sub
于 2014-01-28T00:35:34.140 に答える