枢轴双击 – 显示详细信息事件
有什么方法可以捕获枢轴双击事件吗? (在另一张纸上生成详细视图的事件。)
有什么办法可以看到选定的枢轴的整个数据源作为一个数据表?
我正在使用C#,VSTO编程。
以下是你如何做vba。 将这些代码放在工作表的代码模块中:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim pt As Excel.PivotTable On Error Resume Next Set pt = Target.PivotTable If Err.Number = 0 Then MsgBox "captured" 'to cancel uncomment next line 'Cancel = True End If End Sub
编辑:“我正在寻找双击事件后,因为我需要捕获新的工作表上的值的范围。
试试这个。 把它放在ThisWorkbook模块。 它使用模块级别的variables来跟踪数据透视是否被双击并在NewSheet事件中检查。
Private PivotDoubleClicked As Boolean Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Dim pt As Excel.PivotTable On Error Resume Next Set pt = Target.PivotTable If Err.Number = 0 Then PivotDoubleClicked = True End If End Sub Private Sub Workbook_NewSheet(ByVal Sh As Object) If PivotDoubleClicked Then MsgBox "new sheet from pivot double-click" PivotDoubleClicked = False End If End Sub
我相信你对Range
对象的ShowDetail
属性感兴趣。
要获取整个数据集,可以为数据透视表的DataBodyRange
设置该属性。
Excel.PivotTable pivotTable = (Excel.PivotTable)Globals.Sheet3.PivotTables(1); pivotTable.DataBodyRange.ShowDetail = true;
编辑 :每注释,如果你想要数据透视表呈现的数据集,你必须编写一个方法,使用PivotCache
来确定SourceType
和取决于SourceType
的types相反的数据。 没有属性的PivotTable
PivotCache
或PivotTable
PivotCache
返回一个ADODB.RecordSet
无论SourceType
,更less的.NET DataTable
。