Link Pivot Table filter to a certain cell with VBA code
The Pivot Table you will link its filter function to a cell value should include a filter field (the name of the filter field takes an important role in the following VBA code).
Take the below Pivot Table as an example, The filter field in the Pivot Table is called Category, and it includes two values “Expenses” and “Sales”. After linking the Pivot Table filter to a cell, the cell values you will apply to filter Pivot Table should be “Expenses” and “Sales”.
1. Please select the cell (here I select cell H6) you will link to Pivot Table’s filter function, and enter one of the filter values into the cell in advance.
2. Open the worksheet contains the Pivot Table you will link to cell. Right click the sheet tab and select View Code from the context menu. See screenshot:
3. In the Microsoft Visual Basic for Applications window, copy below VBA code into the Code window.
VBA code: Link Pivot Table filter to a certain cell
Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
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.CurrentPage = xStr
Application.ScreenUpdating = True
1) “Sheet1” is the name of the opened worksheet.
2) “PivotTable2” is the name of the Pivot Table you will link its filter function to a cell.
3) The filtering field in the pivot table is called "Category".
4) The referenced cell is H6. You can change these variable values based on your needs.
4. Press the Alt + Q keys to close the Microsoft Visual Basic for Applications window.
Now the filter function of the Pivot Table is linked to cell H6.
Refresh the cell H6, then corresponding data in Pivot Table are filtered out based on the existing value. See screenshot:
When changing the cell value, the filtered data in the Pivot Table will be changed automatically. See screenshot:
Easily select entire rows based on cell value in a certian column:
Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select...
Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments...
Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
More than 300 powerful features. Supports Office/Excel
2007-2019 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features
30-day free trial. 60-day money back guarantee.
Hi Gilmar Alves,
Sorry can't help you with that. Welcome to post any question in our forum: https://www.extendoffice.com/forum.html to get more Excel support from out Excel professional or other Excel fans.