我使用 vba 创建了一个数据透视表。我需要帮助理解以下几点。
1:我想使用某些过滤器选择(复制)值(例如:基础价格
对于工具类型 = OPTCUR,符号 = GBPUSD)。基本上是公式的 VBA 替代品
GETPIVOTDATA("Underlying_price",$C$4,"Instrument Type","OPTCUR","Symbol","GBPUSD")
2:我想在不知道单元格详细信息但不知道上述标准的情况下设置“显示详细信息=真”。
3:当我们设置“show detail=True”时,会打开一个新工作表。我想将此表分配给类型工作表的变量。
下面是我的数据透视表的 SS。和表名:="My_Pivot"
最佳答案
您可以通过 PivotTable.GetPivotData 获得相关单元格
包含此单元格详细信息的新工作表由 Range.ShowDetail = True
显示.
紧接着,新的 ActiveSheet
是通缉犯。
这是一个获取所需工作表的函数,其中包含指定数据字段的详细信息:
Private Function GetDetailSheet(pt As PivotTable, Val1 As String, Val2 As String) As Worksheet
Dim myCell As Range
With pt
Set myCell = .GetPivotData(.DataFields(1).Name, _
.RowFields(1).Name, Val1, _
.RowFields(2).Name, Val2)
End With
myCell.ShowDetail = True
Set GetDetailSheet = ActiveSheet
End Function
它可以这样使用:
Private Sub Test()
Dim ws as Worksheet
Set ws = GetDetailSheet(ActiveSheet.PivotTables("My_Pivot"), "OPTCUR", "GBPUSD")
ws.Name = "Details OPTCUR GBPUSD"
End Sub
关于excel - 使用 vba 宏从数据透视表中选择字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55700036/