excel - 返回与下拉列表匹配的一组单元格
问题描述
我正在尝试根据另一个工作簿中的下拉列表返回数据透视表中的一组单元格。在此示例中,当我选择“Store 1”时,我希望返回整个子表,例如
混乱 2 4534,夜间 2 4274,工具 3 8123
我相信这是一个子行,但使用函数 GETPIVOTDATA 只喜欢返回特定值,因为在引用下拉列表时我只能提取总数。这是我的数据透视表。
任何帮助表示赞赏。
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
解决方案
Dashboard
此代码在工作簿、工作表Summary
、单元格中查找更改,然后使用 VBAE3
更改数据透视表的值。pTbl
触发时,VBA 代码将
- 清除过滤器(如果存在)
- 用内容过滤数据
E3
要访问 VBA:
- 按 alt-F11
- 展开 Microsoft Excel 对象(左侧)
- 找到“摘要”工作表
查找数据透视表的名称:
- 单击数据透视表
- 单击“数据透视表分析”选项卡
- 在左侧,您将看到“数据透视表名称:”
- 将
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
推荐阅读
- reactjs - React Hooks 和 React 生命周期方法
- matlab - 使用 QR 分解 (MATLAB) 求解线性回归模型
- html - 在 Github Flavored Markdown 中水平居中表格
- python-3.x - DHCP嗅探python3
- angular - MatDialog 的背景在 Angular 中显示为灰色板
- c# - 如何在 ResourceDictionary 的 CombinedGeometry-tag 中使用从 InkScape 导出的 Xaml 多边形
- vue.js - 如何使用 Vuetify 在同一页面上定位多个对话框
- redcap - REDCap - 在数据中搜索条件后发送自动电子邮件
- r - 模式中允许的具有有限功能集的 R 胶水?
- c# - Linq GroupBy 查询语法等效