簡體   English   中英

返回與下拉列表匹配的一組單元格

[英]Return a group of cells that match a drop down list

我正在嘗試根據另一個工作簿中的下拉列表返回 pivot 表中的一組單元格。 在這個例子中,當我 select "Store 1" 時,我想是否返回整個子表,例如

混亂 2 4534,夜間 2 4274,工具 3 8123

我相信這是一個子行,但使用 function GETPIVOTDATA 只喜歡返回特定值,因為在引用下拉列表時我只能提取總數。 這是我的 pivot 表。

在此處輸入圖像描述

任何幫助表示贊賞。

RAWDATA(不是圖像):

STORE    ID       Category  Sum
Store 1           1 Tools         4050
Store 2           2 Food          4051
Store 3           3 Tools         4052
Store 4           4 Mess          4053
Store 5           5 Random        4054
Store 6           6 Mal           4055
Store 1           7 Night          200
Store 2           8 Releif        4057
Store 3           9 Test           154
Store 4          10 Tools         4059
Store 5          11 Food          4060
Store 6          12 Tools        54665
Store 1          13 Mess           454
Store 2          14 Random          45
Store 3          15 Mal           4064
Store 4          16 Night         4065
Store 5          17 Releif          45
Store 6          18 Test          1451
Store 1          19 Tools         4068
Store 2          20 Food          4069
Store 3          21 Tools           15
Store 4          22 Mess          4071
Store 5          23 Random        4072
Store 6          24 Mal           4073
Store 1          25 Night         4074
Store 2          26 Releif        4075
Store 3          27 Test          4076
Store 4          28 Tools           45
Store 5          29 Food          4078
Store 6          30 Tools           45
Store 1          31 Mess          4080
Store 2          32 Random          42
Store 3          33 Mal            523
Store 4          34 Night          453
Store 5          35 Releif           4
Store 6          36 Test           532
Store 1          37 Tools            5
Store 2          38 Food          4087
Store 3          39 Tools         2425
Store 4          40 Mess             2
Store 5          41 Random          45
Store 6          42 Mal              3

此代碼在單元格E3中查找工作簿Dashboard 、工作表Summary中的更改,然后使用 VBA 更改數據透視pTbl的值。

觸發時,VBA 代碼將

  • 清除過濾器(如果存在)
  • E3的內容過濾數據

要訪問 VBA:

  • 按 alt-F11
  • 展開 Microsoft Excel 對象(左側)
  • 找到“摘要”工作表

在此處輸入圖像描述


查找數據透視表的名稱:

  • 單擊 pivot 表
  • 單擊“數據透視表分析”選項卡
  • 在左側,您將看到“數據透視表名稱:”
  • pTbl (當前為“PivotTable6”)更改為此名稱

在此處輸入圖像描述


您可以根據需要更改DashboardSummaryE3pTbl的值。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim wb As Workbook: Set wb = Workbooks("Dashboard")
    Dim ws As Worksheet: Set ws = wb.Worksheets("Summary")
    Dim trigRng As Range: Set trigRng = ws.Range("E3")
    Dim pTbl as String

    pTbl = "PivotTable6"
   
    If Not Application.Intersect(trigRng, Range(Target.Address)) Is Nothing Then
        ws.PivotTables(pTbl).PivotFields("Store").ClearAllFilters
        ws.PivotTables(pTbl).PivotFields("Store").PivotFilters.Add2 Type:=xlCaptionEquals, Value1:=trigRng.Value
    End If
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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