好的,我一直在挖掘大量资源,但我无法找到任何有关如何实现这一目标的线索。我已经挖掘了对象模型,但没有一个属性或方法显示给我我需要的东西。Excel VBA获取选定数据透视表行的项目详细信息
我想获取所选行的行数据。我不想将数据提取到新工作表上,我只想获取活动行的行标签。然后,我将这些行数据放入一张表格中,以比提取的方法更好的格式显示详细信息。
为了简化的例子中,我的枢轴具有:
- 行标签:Case_Name,Case_Ref(1:1的关系)
- 列标签:状态
- 值:呼叫的计数
理想情况下,我希望在Pivot中隐藏Case_Ref,但它是我需要为下一步提取的关键。
我希望用户在数据透视表中选择一个项目(行),然后按我的按钮并让宏返回所选行的Case_Ref。
我的(失败)到目前为止的代码看起来是这样的:
Sub Pivot_Detail_By_Case__Customer_Contacts_By_Case()
'CCBC = Customer Contacts By Case
Set CCBC_PivotTable = Worksheets("Customer contacts by case").PivotTables(1)
HeaderRow = CCBC_PivotTable.RowRange.Row
RowCount = CCBC_PivotTable.RowRange.Count
'Confirm limits of row range
'Range(Cells(HeaderRow + 1, 1), Cells(HeaderRow + RowCount - 2, 1)).Select
PivotDataStartRow = HeaderRow + 1
PivotDataEndRow = HeaderRow + RowCount - 2
If ActiveCell.Row >= PivotDataStartRow And ActiveCell.Row <= PivotDataEndRow Then
ItemNumber = ActiveCell.Row - PivotDataStartRow
'SelectedField = CCBC_PivotTable.DataPivotField.PivotItems(ItemNumer)
'pvt_InnerDetail = CCBC_PivotTable.InnerDetail
'SelectedField = CCBC_PivotTable.RowFields("Case_Ref")
End If
End Sub
的ItemNumber似乎工作,但我如何从那里得到的Case_Ref?
感谢您的帮助。
我不会添加一个答案,因为它是一个链接到外部网站。这概述了如何引用数据透视表的不同部分:http://peltiertech.com/referencing-pivot-table-ranges-in-vba/ –