• 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.

Tabel1 dynamisch filteren o.b.v. gegevens in tabel2

Status
Niet open voor verdere reacties.

mike564

Gebruiker
Lid geworden
11 dec 2015
Berichten
83
Beste helpers,

In bijgevoegd bestand gebruik ik de onderstaande code om de Tabel1 te filteren met de waarden in de kolom Groepen van Tabel2

Code:
Sub Groepen()
    Range("Tabel1[#All]").AdvancedFilter xlFilterInPlace, Sheets("Groepen").Range("Tabel2[[#All],[Groepen]]"), , True
End Sub

Bij deze code loop ik echter tegen de onderstaande beperkingen aan:

1. Filterknoppen van de tabel verdwijnen, bij het weer inschakelen van het filter reset het geavanceerd filter zich.
2. Waarde in Tabel2 moet exact zijn wat wordt gefilterd. Bovenstaande code geeft met de waarde "SYSTEQ" bijvoorbeeld ook de groepen "SYSTEQ GO" en "SYSTEQ MOTOR" weer.

Een andere wens zou zijn dat wanneer de waarden in Tabel2 veranderen deze automatisch meegaan in het filter van Tabel1, zodat de macro niet steeds opnieuw moet worden uitgevoerd wanneer gegevens worden aangevuld of veranderen.

Iemand die mij op weg kan helpen?

Alvast dank!
 

Bijlagen

zo?
Code:
Sub Groepen()
    Dim v As Variant
    v = Application.Transpose(Range("Tabel2[Groepen]"))
    Range("Tabel1[#All]").AutoFilter Field:=2, Criteria1:=v, Operator:=xlFilterValues
End Sub
 
Een andere wens zou zijn dat wanneer de waarden in Tabel2 veranderen deze automatisch meegaan in het filter van Tabel1, zodat de macro niet steeds opnieuw moet worden uitgevoerd wanneer gegevens worden aangevuld of veranderen.
Dit zou volgens mij aan jouw vraag moeten voldoen.
Zet de code van @Gijsbert1 in tabblad Groepen
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("Tabel2[Groepen]")) Is Nothing Then
    Dim v As Variant
    v = Application.Transpose(Range("Tabel2[Groepen]"))
    Sheets("Data").Range("Tabel1[#All]").AutoFilter Field:=2, Criteria1:=v, Operator:=xlFilterValues
End If
End Sub
 
Dit is precies wat ik zoek!
Een mooi een-tweetje Gijbert en Albert. Bedankt!:thumb:
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan