通常,我们通过检查下拉列表中的值来过滤数据透视表中的数据,如左图所示。 如果要通过过滤使数据透视表更加动态,则可以尝试根据特定单元格中的值对其进行过滤。 本文中的VBA方法将帮助您解决问题。

通常,我们通过检查下拉列表中的值来过滤数据透视表中的数据,如左图所示。 如果要通过过滤使数据透视表更加动态,则可以尝试根据特定单元格中的值对其进行过滤。 本文中的VBA方法将帮助您解决问题。


使用VBA代码根据特定单元格值过滤数据透视表

下面的VBA代码可以帮助您基于Excel中的特定单元格值过滤数据透视表。 请执行以下操作。

1.请输入一个值,您将根据该值预先将数据透视表过滤到一个单元格中(这里我选择单元格H6)。

2.打开包含要根据单元格值过滤的数据透视表的工作表。 然后右键单击工作表选项卡,然后从上下文菜单中选择“查看代码”。 看截图:

3.在开幕 Microsoft Visual Basic应用程序 窗口,将下面的VBA代码复制到“代码”窗口中。

VBA代码:根据单元格值过滤数据透视表

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim xPTable As PivotTable

    Dim xPFile As PivotField

    Dim xStr As String

    On Error Resume Next

    If Intersect(Target, Range("H6:H7")) Is Nothing Then Exit Sub

    Application.ScreenUpdating = False

    Set xPTable = Worksheets("Sheet1").PivotTables("PivotTable2")

    Set xPFile = xPTable.PivotFields("Category")

    xStr = Target.Text

    xPFile.ClearAllFilters

    xPFile.CurrentPage = xStr

    Application.ScreenUpdating = True

End Sub

说明:在代码中,

1)“Sheet1”是工作表的名称。

2)“数据透视表2”是数据透视表的名称。

3)数据透视表中的过滤字段称为“按产品分类“.

4)您要过滤数据透视表的值放在单元格中 H6.

您可以根据需要更改上述变量值。

4。 按 其他 + Q 关闭键 Microsoft Visual Basic应用程序 窗口。

然后,数据透视表将根据单元格H6中的值进行过滤,如下图所示:

您可以根据需要将单元格值更改为其他值。

备注:您在单元格H6中键入的值应与数据透视表的“类别”下拉列表中的值完全匹配。


相关文章:


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件…
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列…防止细胞重复; 比较范围
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择…
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等…
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体…
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF
  • 超过300种强大功能。 支持Office / Excel 2007-2019和365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能30天免费试用。 60天退款保证。

kte选项卡201905


Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!

officetab底部

Oh 游读者 👋
It’s nice to meet you.

每周三,您都将收到一封内容详实的Newsletter.

close

Oh 游读者 👋
It’s nice to meet you.

每周三,您都将收到一封内容详实的Newsletter.