Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 8 van 8

Onderwerp: Filter binnen n kolom op meer voorwaarden

  1. #1
    Vraag is opgelost

    Filter binnen n kolom op meer voorwaarden

    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!
    Bijgevoegde bestanden Bijgevoegde bestanden

  2. #2
    Giga Honourable Senior Member
    Geregistreerd
    18 juli 2008
    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
    ____________
    Met vriendelijke groet,
    Harry

    Lag nooit om de keuzes van dien vraauw, bist ter zulf aine van....
    (Grunnegs-Gronings)

  3. #3
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    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
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  4. #4
    Giga Honourable Senior Member
    Geregistreerd
    18 juli 2008
    Er mist vast nog iets, kan je beter even aanpassen.
    ____________
    Met vriendelijke groet,
    Harry

    Lag nooit om de keuzes van dien vraauw, bist ter zulf aine van....
    (Grunnegs-Gronings)

  5. #5
    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

  6. #6
    Giga Honourable Senior Member
    Geregistreerd
    18 juli 2008
    Alleen die van mij doet aan je verwachting op dit moment.
    ____________
    Met vriendelijke groet,
    Harry

    Lag nooit om de keuzes van dien vraauw, bist ter zulf aine van....
    (Grunnegs-Gronings)

  7. #7
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    't is wat.
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  8. #8
    Giga Honourable Senior Member
    Geregistreerd
    18 juli 2008
    Tja, lezen is een kunst.

    Zowel slecht gelezen als getest.
    ____________
    Met vriendelijke groet,
    Harry

    Lag nooit om de keuzes van dien vraauw, bist ter zulf aine van....
    (Grunnegs-Gronings)

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren