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

Macro voor een uitgebreid filteroefening doet het niet

Status
Niet open voor verdere reacties.

NIh1IlO

Gebruiker
Lid geworden
4 feb 2003
Berichten
759
Beste Excelspecialisten,

In bijlage wordt een bestandje gevoegd met gegevens waarop 'uitgebreid filter' wordt toegepast. Dit wordt correct uitgevoerd.
Wanneer nu dezelfde oefening wordt overgedaan voor een macro dan verschijnt enkel de bovenste rij, terwijl de 'gefilterde gegevens' dit keer NIET worden weergegeven.
Hebben de specialisten hier een verklaring voor en hoe kan er aan verholpen worden?

P.S.: Het is een bewuste keuze om 'uitgebreid filter' te gebruiken en niet de gewone filter.

Met vriendelijke groeten en hopelijk met positief nieuws.

nIh1IlO
 

Bijlagen

Gebruik:

Code:
Sub M_snb()
    Cells(6, 1).CurrentRegion.AdvancedFilter 2, Cells(1).CurrentRegion, Range("A50")
End Sub

Maak de volgende cellen leeg: C1, D1, E6, H1


Zoek in de documentatie van advancedfilter naar het verschil tussen destination range Range("A50") en destination range Range("A50:E50")
 
Laatst bewerkt:
Beste snb,

Bedankt voor de snelle feedback.
Ik heb de cellen die je vermeldde gewist en hij doet het.

Ik begrijp echter niet waarom die cellen moeten verwijderd worden. Het criteriabereik was nochtans opgesteld zoals voorgeschreven: 2 voorwaarden, een datum limiet kleiner dan en een datumlimiet groter dan, op dezelfde regel.

De cel H1 staat er inderdaad onafhankelijk van af: was bedoeld om een voorwaardelijke opmaak te accentueren (cellen in het geel die aan de voorwaarden voldeden).

Ik ben geen programmeur, daarom gebruikte ik de misschien eerder primitieve wijze om de macro samen te stellen via macro opnemen en stoppen.
Kan het resultaat dan niet op die wijze worden bekomen?

Ik ben benieuwd?

Hoe luidt de formule dan als men in de eerste 2 rijen volgende gegevens heeft staan?
Nwjrout DatNwjrout DatNwjrout MVrnm MNAAM VVrnm VNAAM Adres Postnr GEM E-card
x >10/12/2018 <=31/01/2019
 
Laatst bewerkt:
Beste specialist snb,

Ik heb de voorwaarde gewijzigd om de filter te verstrengen en dan doet de macro het niet.
Bovendien heb ik de indruk dat de 2e limiet niet in aanmerking wordt genomen.

Is het mogelijk de verschillende instructies uit de subroutine in het kort toe te lichten om een beter inzicht te krijgen?

nIh1HlO
 
De cellen moeten verwijderd worden omdat anders de currentreigion niet juist is. Filters zijn uitgevonden voor eenduidige data in een kolom. 10/122018 lijkt mij geen datum. Als je wil filteren op meerdere voorwaarden dan kan je dat beter in een formule zetten.

Code:
Sub VenA()
  Cells(6, 1).CurrentRegion.AdvancedFilter 2, Range("E1:E2"), Range("A50"), True
End Sub
 

Bijlagen

Laatst bewerkt:
Beste meedenkers-specialisten,

Misschien was mijn oorspronkelijke melding niet heel duidelijk. Daarom probeer ik het probleem opnieuw eens te verduidelijken.
Na het manueel toepassen van 'Gegevens' - 'Geavanceerd' (sorteren en filteren), dat overigens perfect lukte, wilde ik een knop aanmaken voor een macro.
De macro werd manueel samengesteld (opnemen macro) aan de hand van de verrichtingen die ik reeds manueel had uitgevoerd en die tot de gewenste oplossing leidde.
Bij het proberen toepassen van de macro (knop aantikken) stelde ik vast dat de gegevens niet werden gefilterd.
De filtering moest toegepast worden op een vork: >12/12/2018 en <=01/01/2019 (bij wijze van voorbeeld).

De door jullie aangereikte oplossingen filteren slechts op 1 voorwaarde (>12/12/2018) maar laten de 2e ongemoeid.
VenA spreekt van een formule. Ik heb dit geprobeerd met een EN formule door te verwijzen naar 2 afzonderlijke cellen (vb N1 en N2) waarin de voorwaarden respectievelijk worden vermeld maar wat is de referentiecel die moet ingevoerd worden (B7 ?)?
Kortom is blijf knoeien maar geraak er niet uit.

Ik hoop dat de verduidelijking van het probleem jullie zullen inspireren naar 'mijn' finaliteit.

Alvast van harte bedankt voor de inleving en de aandacht die jullie er hopelijk aan zullen besteden.

P.S.: Ik heb het bestandje nog wat bijgewerkt met het resultaat van jullie formules en voeg het hierbij.
 

Bijlagen

Heb je je al verdiept in advanced filter ?
 
Affirmatief! Verdiepen is echter nog niet gelijk aan begrijpen.
 
Je moet wel toepassen wat je wordt aangereikt. De formule in P2 is afhankelijk van de datums in N1 en N2. Het resultaat komt in I6.

Code:
Sub VenA()
  If Range("I6") <> "" Then Range("I6").CurrentRegion.Clear
  Range("A6").CurrentRegion.AdvancedFilter 2, Range("P1:P2"), Range("I6"), True
  Range("I6").CurrentRegion.Sort Range("J6"), , , , , , , xlYes
End Sub
 

Bijlagen

Beste meedenkers, :thumb:

Bedankt voor de service. Ik heb veel bijgeleerd maar moet ootmoedig toegeven dat de subroutines voor een leek niet zo evident zijn.
Ik kan ermee aan de slag.

nIh1IlO
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan