How to highlight specific values in a PivotTable using VBA?

To highlight specific values in a PivotTable using VBA, you can use conditional formatting within your VBA code. The basic approach involves defining the condition you want to highlight and applying a format to those cells. Below is an example of how you might set up a macro to highlight cells based on a certain condition, such as values greater than a specified threshold:

  • Open the VBA Editor:
    • Press `ALT` + `F11` to open the VBA Editor in Excel.
  • Insert a Module:
    • In the VBA Editor, go to `Insert` > `Module` to create a new module.
  • Write the VBA Code:

Below is a sample code that demonstrates how to apply conditional formatting to a PivotTable to highlight cells with values greater than a certain threshold.

Sub HighlightPivotTableValues()
    Dim ws As Worksheet
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim pi As PivotItem
    Dim dataRange As Range
    Dim cell As Range
    Dim threshold As Double
    
    ' Set your worksheet and PivotTable
    Set ws = ThisWorkbook.Worksheets("Sheet1") ' Change to your sheet name
    Set pt = ws.PivotTables("PivotTable1") ' Change to your PivotTable name

    ' Set the threshold for conditional formatting
    threshold = 100 ' Change this to your desired value

    ' Ensure the PivotTable is up-to-date
    pt.RefreshTable

    ' Set the data range of the PivotTable (assuming first data field)
    Set dataRange = pt.DataBodyRange

    ' Check if data range is nothing
    If Not dataRange Is Nothing Then
        ' Loop through the cells in the data range
        For Each cell In dataRange
            If cell.Value > threshold Then
                ' Apply formatting
                cell.Interior.Color = RGB(255, 255, 0) ' Highlight with yellow
            Else
                ' Optional: Reset formatting if needed
                cell.Interior.ColorIndex = xlNone
            End If
        Next cell
    Else
        MsgBox "No data found in the PivotTable."
    End If
End Sub
  • Customize the Code:
    • Replace `”Sheet1″` with the name of your worksheet.
    • Replace `”PivotTable1″` with the name of your PivotTable.
    • Change the `threshold` to the value you want to use for highlighting.
    • Modify the `RGB` color values for a different highlight color if desired.
  • Run the Macro:
    • Close the VBA Editor and return to Excel.
    • Go to `Developer` > `Macros`, select `HighlightPivotTableValues`, and click `Run`.

This script will check each value in the data range of the PivotTable against the specified threshold. If a cell’s value exceeds the threshold, it will be highlighted with the specified color. Adjust parameters as needed for your specific worksheet and PivotTable configuration.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project