Skip to content

Excel VBA Macro to Repeat Item Labels in a PivotTable

    Use the RepeatAllLabels property of the PivotTable object. Options are xlRepeatLabels and xlDoNotRepeatLabels.

    Dim ws As Worksheet
    Set ws = ActiveSheet
    Dim wb As Workbook
    Set wb = ActiveWorkbook
    Dim PTcache As PivotCache
    Dim PT As PivotTable
    'Define the cache for the PivotTable
    Set PTcache =wb.PivotCaches.Create(SourceType:=xlDatabase, _
    SourceData:=Range("Sales_Data[#All]"),Version:=xlPivotTableVersion15)
    'Create the PivotTable
    Set PT =ws.PivotTables.Add(PivotCache:=PTcache, _
    TableDestination:=Range("J1"),TableName:="Sales Analysis")
    PT.AddFieldsRowFields:=Array("Region", "Branch"), _
    ColumnFields:="Product",PageFields:="Product Category"
    PT.AddDataFieldField:=PT.PivotFields("Revenue"), _
    Caption:="No ofTransactions", Function:=xlCount
    'Repeat labels in the Region row field
    PT.RowAxisLayout xlOutlineRow
    PT.RepeatAllLabels xlRepeatLabels