Filter binnen één kolom op meer voorwaarden

Status
Niet open voor verdere reacties.

Boboes

Gebruiker
Lid geworden
5 nov 2016
Berichten
45
In bijgevoegd fictief bestandje wil ik m.b.v. VBA een filter zetten op twee kolommen in blad ‘Gegevens’.
Filter op kolom B: heeft twee voorwaarden: óf begin- en einddatum liggen in periode 1 óf begin- en einddatum liggen in periode 2. De begin -en einddatum van de twee periodes is opgenomen in blad ‘Perioden’.
Filter op kolom C: is eenvoudig, waarde moet zijn ‘actief’.

Met de VBA-code lukt het mij wel om een filter te zetten op kolom B en C maar voor kolom B heb ik alleen een filter op de eerste periode. Hoe krijg ik ook de tweede periode te zien (aug 2010)? Met de code die ik nu heb wordt alleen mei 2000 en actief getoond.

De begin- en einddatums in blad Perioden zijn benoemde naambereiken.

Bij voorbaat dank voor het meedenken en de hulp!
 

Bijlagen

  • Test filter perioden.xlsm
    17,5 KB · Weergaven: 23
De periodes eind heb je niet nodig als het om een volledige maand gaat.
De 1 in de array staat voor maand.

Code:
Sub Test()
 With Sheets("gegevens").Cells(1).CurrentRegion
  .AutoFilter 2, Array("="), 7, Array(1, Format(Range("periode1start"), "m/d/yyyy"), 1, Format(Range("periode2start"), "m/dd/yyyy"))
  .AutoFilter 3, "actief"
 End With
End Sub
 
Of met het geavanceerde filter.

Code:
Sub VenA()
  With Sheets("Gegevens")
    .Cells(2, 26).FormulaR1C1 = "=(SUMPRODUCT((periode1start<=RC[-24])*(periode1eind>=RC[-24]))+SUMPRODUCT((periode2start<=RC[-24])*(periode2eind>=RC[-24])))=1"
    .Cells(1).CurrentRegion.AdvancedFilter xlFilterInPlace, .Range("Z1:Z2")
  End With
End Sub
 
Er mist vast nog iets, kan je beter even aanpassen.
 
Bedankt HSV en VenA! De verschillende benaderingen werken allebei.

@ HSV: Ik dacht al dat het op een of andere manier met een array opgelost zou kunnen worden, maar ik had geen enkel idee hoe dan.
@ VenA: Aan de voorkant heb ik zitten stoeien met geavanceerd filter, maar wist ook niet op welke manier dat dan m.b.v. VBA zou moeten.

Mooi dat ik nu zie hoe beide oplossingen in VBA zijn verwerkt. :)
Weer wat geleerd.

Nogmaals dank!
Christ
 
Alleen die van mij doet aan je verwachting op dit moment.
 
Tja, lezen is een kunst.

Zowel slecht gelezen als getest.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan