如何在Excel中双击数据透视表条目时控制发生的情况

是否可以拦截数据透视表上的双击,防止它显示底层数据,以便您可以提供一个结构化的屏幕,让观众看到它?

尝试这个。

逻辑

  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 

屏幕快照

在这里输入图像描述

这完全基于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 

你可以尝试做类似于下面的代码。 这将创build一个范围,工作表和数据透视表:

 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