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

autofilter meerdere criteria met lege rij

Status
Niet open voor verdere reacties.

dvejam

Gebruiker
Lid geworden
11 nov 2010
Berichten
63
Goedemorgen,

Ik ontvang dagelijks een automatisch excel bestand met daarin klantmeldingen. Uit dit bestand wil ik op meerdere criteria filteren want alleen die data heb ik nodig. Ik heb een voorbeeld bestand toegevoegd. Selectie wordt gemaakt op kolom G en op kolom P.

Uit kolom G heb ik alleen MA, GO en GC nodig
Uit kolom P heb ik alleen BLK, BOZ, DPB, DKW, KKP, KOE, SPV, XXX en ZB nodig.

In het bestand zit echter standaard een wit regel op cel A2. Deze moet verwijderd worden en vervolgens nadat op bovenstaande criteria is geselecteerd weer teruggeplaatst worden in cel A2. Ik heb het via een macro gedaan en dat lukt op huidige selectie in bijlage. Maar zodra ik data van de volgende dag gebruik (die meer of minder meldingen bevat) ontbreekt er data. Ik denk dat dit met bereik heeft te maken.Bekijk bijlage Voorbeeld.xlsx
 
Laatst bewerkt:
Als je iets met een macro gedaan hebt waarom zit de code dan niet in het bestand? Je vertelt er ook niet bij waar je met de gefilterde data blijft. Met het geavanceerde filter is het vrij eenvoudig op te lossen.

In de tab 'Import' staan de gegevens. In de tab 'Criteria' dat waarop je wil filteren. En in de tab 'Resultaat' jawel het resultaat.

Code:
Sub VenA()
Application.ScreenUpdating = False
With Sheets("Resultaat")
    .Cells.Delete
        With Sheets("Import")
            .Rows(2).Delete
            .Cells(1).CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Sheets("Criteria").Range("A1:B10")
            .UsedRange.Cells.Copy Sheets("Resultaat").[A1]
            .Cells.AutoFilter
        End With
    .Rows(2).Insert
    .Columns.AutoFit
End With
End Sub
 

Bijlagen

Beste VenA,

Dank voor je reactie en uitleg. Excuses als ik niet duidelijk ben. De gefilterde data gaat uiteindelijk naar een ander excel bestand.

Ik heb de bijlage bekeken maar op het blad resultaat staat niet het gewenste resultaat. Ik wil namelijk in kolom G alleen MA, GC en GO terugzien in combinatie met kolom P met BLK, BOZ, DPB, DKW, KKP, KOE, SPV, XXX en ZB.

Bij de macro die hieronder is afgebeeld is mijn gedachte om alles wat geen MA, GO en GC te verwijderen nadat gedaan is vervolgens alles te verwijderen dat geen BLK, BOZ, DPB, DKW, KKP, KOE, SPV, XXX en ZB heeft.

Hierbij ook de macro code zoals ik hem in gedachte heb en wat het gewenste resultaat oplevert.

HTML:
sub Macro1()
'
' Macro1 Macro
'

'
    Rows("2:2").Select
    Selection.Delete Shift:=xlUp
    Range("A1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$AS$132").AutoFilter Field:=7, Criteria1:=Array( _
        "AK", "BT", "CP", "HO", "NB", "RA", "RD"), Operator:=xlFilterValues
    Rows("2:132").Select
    Selection.Delete Shift:=xlUp
    ActiveWindow.SmallScroll Down:=-12
    ActiveSheet.Range("$A$1:$AS$66").AutoFilter Field:=7
    ActiveSheet.Range("$A$1:$AS$66").AutoFilter Field:=16, Criteria1:=Array( _
        "AGF", "AGS", "AGU", "QIT", "RUL", "SVC"), Operator:=xlFilterValues
    Rows("3:63").Select
    Selection.Delete Shift:=xlUp
    ActiveWindow.SmallScroll Down:=-12
    ActiveSheet.Range("$A$1:$AS$31").AutoFilter Field:=16
    Rows("2:2").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A1").Select
End Sub
 
Nu nog naar een ander bestand, maar daar hebben we geen informatie over.
Code:
Sub hsv()
Blad4.Cells.Clear
With Blad3
 .Cells.Clear
    With Blad1
     .Rows(2).Delete
     .Cells(1).CurrentRegion.AdvancedFilter 2, Blad2.Cells(1).CurrentRegion, Blad4.Cells(1)
     .Rows(2).Insert
    End With
      Blad4.Cells(1).CurrentRegion.AdvancedFilter 2, Blad2.Cells(1, 3).CurrentRegion, Blad3.Cells(1)
      Blad4.Cells.Clear
 End With
End Sub
 

Bijlagen

Beste HSV,

Dank voor je bijdrage. Er ontbreken records op het resultaat blad.

Als ik in jouw bijlage op het importblad filter op MA, GO, GC in combinatie met BLK, BOZ, DBP, DKW, KKP, XXX en ZB kom ik op 29 records van de 121. Maar op het tabblad resultaat zijn het er nog maar 17?

En de witregel in cel A2 ontbreekt.

Alvast bedankt.
 
Ook met onderstaande kom ik tot 17.
Filtert eerst op kolom G en vervolgens op kolom P.
Code:
Sub hsvtwee()
With Blad1
If .AutoFilterMode Then .AutoFilterMode = False
 .Rows(2).Delete
 .Cells(1).CurrentRegion.AutoFilter 7, Array("MA", "GO", "GC"), xlFilterValues
 .Cells(1).CurrentRegion.AutoFilter 16, Array("BLK", "BOZ", "DPB", "DKW", "KKP", "KOE", "SPV", "XXX", "ZB"), xlFilterValues
 .Rows(2).Insert
 End With
End Sub

Hoe jij aan 29 komt weet ik niet.
 
Verander in de code van de array "DPB" in "DBP", en de telling zal volgens mij dan wel kloppen.
 
Harry,

Dat is het inderdaad. Nu klopt het helemaal.

Superbedankt voor je hulp.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan