簡體   English   中英

使用vba宏從數據透視表中選擇一個字段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM