Uitfilteren van 2 waarden

Status
Niet open voor verdere reacties.

Plannert

Gebruiker
Lid geworden
2 dec 2011
Berichten
34
Beste Helpmij.nl forumleden,

Ik ben mijzelf aan het verdiepen in VBA, tot nu toe gaat dat redelijk goed en ik kom ook ver dankzij allerlei fora. Het probleem wat ik nu heb kan ik echter nergens terug vinden, ik heb het uiteraard eerst geprobeerd door een macro op te nemen, ik dacht ook dat het op die manier direct klaar was, dat bleek echter iets lastiger te zijn.

Ik wil graag 2 waarden niet terug laten komen in een lijst. Dus bijvoorbeeld in Kolom A staan:
1
2
3
4
5
6

Dan wil ik waarde 2 en 5 uitvinken bijvoorbeeld. Wanneer ik mijn macro op neem krijg ik :

ActiveSheet.ListObjects("Sheet 1").Range.AutoFilter Field _
:=1, Criteria1:=Array("1", "3", "4", "6"), Operator:=xlFilterValues

De waarden tussen "" zijn artikelnummers, deze lijst kan varieren/groeien in de loop van de tijd. Maar de 2 waarde die ik eruit wil halen blijven hetzelfden, deze waarde moeten echter wel in de lijst blijven staan omdat ik ze in een later stadium wel nodig heb.

Dus hoe kan ik nu in vba een code maken die alles aanvinkt en alleen de waarde die ik definier uitvinkt, zonder dat ik een hele lijst aan waarden krijg zoals in mijn vba-voorbeeld. Dus dat ik in plaats van 1, 3, 4 en 6 aanvink, 2 en 5 uitvink.

Ik hoop dat het duidelijk is :).

Alvast bedankt!!
 
Kun je niet een extra (later te verbergen) kolom toevoegen waarin je een selectiewaarde zet, zodat je daarop kunt filteren?
 
Dat is inderdaad goed uit te voeren. Daar had ik nog niet aangedacht. Het enigste waar ik een beetje mee zit is dat ik in het specifieke document al een aantal van dat soort kolommen heb zitten. En ik zou dit graag bij de bron al willen aanpakken, om het overzichtelijk te houden. Maar in vba zelf is het dus niet eenvoudig te doen zoals ik het voorstelde?
 
In plaats van de waarden te selecteren die je nodig hebt, kun je misschien nog de waarden excluden die je niet gebruikt:
Code:
ActiveSheet.ListObjects("Blad1").Range.AutoFilter Field:=1, Criteria1:="<>2", Operator:=xlAnd, Criteria2:="<>5"
 
TOP! Dat werkt zoals ik het verwacht, ik had dit inderdaad al gevonden op een forum, maar het heeft er blijkbaar niet goed gestaan. Ik begreep daar wel uit dat het met maximaal 2 waarden gedaan kan worden. Dus mochten er nu nog meer waarden zijn die ik wil excluden dan kan dat niet op deze manier.

Ik zal de vraag als opgelost zetten!

Hartelijk dank!
 
@plannert

Code:
Maar de 2 waarde die ik eruit wil halen blijven hetzelfden

Tip:
en als je dan verwijst naar een cel in je werkblad hoef je de VBA code niet aan te passen, als de (niet) te filteren waarde wijzigt van b.v. 5 in 6.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan