[英]selecting a field from pivot table using vba macro
我使用vba創建了一個數據透視表。 我需要幫助理解下面提到的要點。
1:我想用某些過濾器選擇(復制)值(例如:工具類型的基礎價格= OPTCUR,符號= GBPUSD)。 基本上是配方的VBA替代品
GETPIVOTDATA("Underlying_price",$C$4,"Instrument Type","OPTCUR","Symbol","GBPUSD")
2:我想在不知道細胞細節的情況下設置“show detail = True”,而不是上面提到的標准。
3:當我們設置“show detail = True”時,將打開一個新工作表。 我想將此工作表設置為工作表類型的變量。
下面是我的數據透視表的SS。 和TableName:=“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
如果您不想使用(hideos)GETPIVOTDATA,那么有適合您的解決方案! 它被稱為CUBEVALUE。 這有點難以掌握,但一旦完成,你的報告和數據透視表就達到了一個全新的水平。 請參見: https : //www.excelcampus.com/cubevalue-formulas/
是的,這是一篇很長的文章,但它絕對值得付出努力,因為它可以讓您指向特定的數據點 ,而不是特定的單元格 。
掌握之后,將VBA代碼添加到“已更改”的單元格事件並更改某個工作表的可見性狀態只需幾分鍾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.