Delila_1 Creative Commons License 2009.10.07 0 0 10239

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

Előzmény: Törölt nick (10238)