• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Kolommen verbergen op basis van gefilterde waarde

Status
Niet open voor verdere reacties.

Severijns

Gebruiker
Lid geworden
6 jul 2018
Berichten
139
L.S.

Ik zoek een stukje VBA code.
In de bijgevoegde tabel (Test.xlsx) wil ik graag kunnen filteren op zowel Serie als op Deel.
Na toepassing van de filters wil ik graag dat op basis van de filters de kolommen (a:z) die leeg zijn verborgen worden.
Hoop dat e.e.a. duidelijk is.

Bij voorbaat dank,


Rob
 
Zet ergens in het werkblad een volatiele functie als =NOW() en plaats de code in de module van het werkblad.

Code:
Private Sub Worksheet_Calculate()
  Set r = Cells(6, 2).CurrentRegion
  r.Columns.Hidden = False
  For j = 3 To r.Columns.Count
    r.Columns(j).Hidden = Application.Subtotal(3, r.Columns(j)) < 2
  Next j
End Sub
 
Als het om veel kolommen gaat dan is onderstaande sneller.

Code:
Private Sub Worksheet_Calculate()
  Dim r As Range
  With Cells(6, 2).CurrentRegion
    .Columns.Hidden = False
    For j = 3 To .Columns.Count
      If Application.Subtotal(3, .Columns(j)) < 2 Then
        If r Is Nothing Then Set r = .Columns(j) Else Set r = Union(r, .Columns(j))
      End If
    Next j
  End With
  If Not r Is Nothing Then r.Columns.Hidden = True
End Sub
 
Nogmaals bedankt,

Het gaat over maximaal 200 kolommen.
Zal de aangepaste code in elk geval toevoegen. Men weet maar nooit wat de toekomst brengt.

Met vriendelijke groet,

Rob
 
Toch nog even een aanvullende vraag.

Wat nu als ik cellen die voorzien zijn van Voorwaardelijke Opmaak eveneens zichtbaar wil hebben?
Zelfs als er niets in de cel is ingevuld.

Bij voorbaat dank,

Rob
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan