How to hide or show specific field items programmatically using VBA?

To hide or show specific field items in a Pivot Table using VBA, you can manipulate the `PivotItems` in a `PivotField`. Below is a general outline and an example code on how to achieve this.

Steps to Hide or Show Specific Field Items

  • Access the Pivot Table:
    • Obtain a reference to the pivot table you want to modify.
  • Access the Specific Pivot Field:
    • Get the specific field you want to modify. This could be a row field, column field, or a filter field.
  • Modify the Pivot Items:
    • Use the `PivotItems` collection of the `PivotField` to hide or show specific items.

Example VBA Code

Here is a VBA example to hide or show specific items in a Pivot Table:

Sub ShowHidePivotItems()
    Dim ws As Worksheet
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim pi As PivotItem
    
    ' Set the worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1") ' Change Sheet1 to your sheet name
    
    ' Set the Pivot Table
    Set pt = ws.PivotTables("PivotTable1") ' Change PivotTable1 to your pivot table name
    
    ' Set the Pivot Field
    Set pf = pt.PivotFields("Category") ' Change Category to the field you are targeting

    ' Loop through the Pivot Items
    For Each pi In pf.PivotItems
        ' Check the item's name and hide or show it
        If pi.Name = "Item1" Then
            pi.Visible = False ' Hide this item
        Else
            pi.Visible = True ' Show this item
        End If
    Next pi
End Sub

Important Considerations

  • Worksheet and Pivot Table Names:

Ensure that you change `”Sheet1″` and `”PivotTable1″` to the actual names of your worksheet and pivot table.

  • Field Name:

Update `”Category”` to the specific field in your pivot table that you want to manipulate.

  • Item Name:

Update `”Item1″` within the loop to the specific item names you want to hide or show.

  • Visibility Control:

Use `pi.Visible = False` to hide an item and `pi.Visible = True` to show an item.

Debugging Tips

  • If the code isn’t working as expected, make sure the field and item names match exactly, as they are case-sensitive.
  • Double-check that the pivot table and fields exist and are correctly referenced.

By using this approach, you can programmatically control the visibility of specific items in a pivot table field.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project