如何在Excel中双击数据透视表条目时控制发生的情况
是否可以拦截数据透视表上的双击,防止它显示底层数据,以便您可以提供一个结构化的屏幕,让观众看到它?
尝试这个。
逻辑 :
- 确定您的枢轴范围
- 在
Worksheet_BeforeDoubleClick
事件中检查用户是否点击了数据透视表 - 取消双击
代码 :这段代码进入工作表代码区,它有一个数据透视表(见截图)
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