Manipuleer een tabel

Voorbeeldbestanden bij dit artikel:
  • Manipuleer een tabel
  • Een grote tabel manipuleren

    We weten allemaal dat grote hoeveelheden gegevens en invoer bewerken niet eenvoudig is. In die gevallen werk ik graag met slicers, aangezien het zo veel gemakkelijker wordt om de juiste rij(en) uit te filteren. Met een handigheidje en een klein beetje VBA code hoef je vaak zelfs niet meer de tabel en de rijen direct te benaderen: het volstaat om bvb. een kleine routine te gebruiken om de gefilterde rij(en) te muteren. Als je wilt lezen over wat slicers zijn en hoe ze te gebruiken, volg dan deze link (Engelstalig).

    Neem nu de volgende tabel van bedrijven en maanden en verkochte hoeveelheden:

    Links zien we de tabel met gegevens (3 kolommen met invoer, 1 kolom met een formule), en rechts heb ik 3 slicers aangemaakt. 1 slicer per kolom voorzien voor invoer/selecties maken.

    Klikken op de relevante keuzes verbergt de nodige andere selecties en rijen waardoor er steeds minder rijen over blijven:

    De VBA code is niet zo lastig.

        Dim i                     As Long
        Dim r                     As Range
    
        If Range("U2").Value > 1 Then
            MsgBox Range("U2").Value & " rijen blijven over, filter aub tot als er nog maar 1 rij over blijft." & vbCrLf & "De macro wordt gestopt.", vbInformation
            Exit Sub
        End If
    
        With ActiveSheet.ListObjects(1).ListColumns(4).DataBodyRange.Cells
            For i = 1 To .CountLarge
    
                Set r = .Cells(i)
                If Not r.EntireRow.Hidden Then
                    r.Value = r.Value + 1
                End If
    
            Next
    
        End With
    

    Cel U2 telt het aantal zichtbare (gefilterde) rijen. Van die cel maken we gebruik in de code. Vervolgens maken we een lus doorheen de zichtbare cellen uit kolom 4 van de tabel. Indien de cel (rij) niet verborgen is dan kunnen we de waarde 1 bij tellen in de cel. We gebruiken de functie SUBTOTAAL.

    Met het plus-teken links bovenaan kan je de tabel zichtbaar maken en nadien weer verbergen, al heb je de tabel doorgaans niet vaak meer nodig. De tabel mag ook op een verborgen/ander tabblad staan.

    Laat dit template gerust de basis zijn voor jou. Kijk zeker ook naar de andere instellingen van slicers zodat je opmaak en gedrag nog meer kan afstemmen op jouw situatie.




    Homepage

    Rubriek onderdelen

    Over Wim

    Wim Gielis is Business Intelligence consultant en Excel expert

    Andere links