[英]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”)更改為此名稱
您可以根據需要更改Dashboard
、 Summary
、 E3
和pTbl
的值。
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.