You can use the PT Update event to trigger the generation
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Call TEST(Target)
End Sub
and
Option Explicit
Sub TEST(pt As PivotTable)
Dim ptItem As PivotItem
Dim i As Long
i = 1
With pt
For Each ptItem In .PivotFields("AAA").PivotItems
If ptItem.Visible Then
.Parent.Cells(i, 14).Value = ptItem.Value
i = i + 1
End If
Next
End With
End Sub
This is kind of hard coded, but you could generalize it pretty easily. I just made a simple PT and listed the selected Page Fields in column O
Wasn't sure exactly what you were looking for, but this seems to have the basics
Paul