A listbox tulajdonságainál a bemeneti tartományban megadod azt a területet, ahol megadod a listboxban megjelenítendő adatokat, ez lehet januártól decemberig a hónapok elnevezése. A cellacsatoláshoz beírod a cellát, ahonnan majd a kimutatáshoz veszed az értéket. Itt az a sorszám jelenik meg, ami a kiválasztott elem sorszáma a bemeneti tartományban, pl. a szeptember kiválasztása után 9.
A makróban a táblázat a kimutatáshoz Munka1!A1:B20, az oszlopok címe hónap és adat, a cellacsatolás Munka2!A1.
Sub Kimutatas()
Dim tabla, i_1 As String
Dim h, i
tabla = "A1:B20"
Range("A2").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Munka1!" & tabla).CreatePivotTable TableDestination:="", TableName:= _
"Kimutatás1"
With ActiveSheet.PivotTables("Kimutatás1")
.AddFields RowFields:="hónap"
.PivotFields("adat").Orientation = xlDataField
End With
h = Application.Fixed(Sheets("Munka2").Cells(1, 1), 0) 'listbox értéke szövegként
For i = 1 To 12
i_1 = Application.Fixed(i, 0) 'a ciklusváltozó értéke szöveggé alakítva
If ActiveSheet.PivotTables("Kimutatás1").PivotFields("hónap"). _
PivotItems(i_1) <> h Then
ActiveSheet.PivotTables("Kimutatás1").PivotFields("hónap"). _
PivotItems(i_1).Visible = False
End If
Next
End Sub