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

Advanced Fillter zoeken op naam

Status
Niet open voor verdere reacties.

TWDR

Gebruiker
Lid geworden
26 jun 2017
Berichten
53
Beste Help-mij’er,

Het brondata tabblad bevat oorspronkelijk meerdere kolommen, i.v.m. privacy heb ik deze verwijderd. Dit is de reden dat veel van de andere formules niet meer werken.

Ik probeer echter de “ZOEKEN OP NAAM” formule werkend te krijgen op het tabblad ‘ZOEK FORMULES’.

Ik probeer een advanced filter toe te passen, waarbij ik op het tabblad ‘zoek formules’ een bedrijfsnaam intyp, en hierbij het juiste personeel nummer wordt weergegeven. Als ik “kan” typ, worden alle resultaten die “kan” bevatten weergegeven. In het daadwerkelijk bestand bestaat de kolom personeelnummer uit enkel unieke nummers.

De data in het bestand is anonimiseert. Wie helpt mij uit de brand?!

Mijn dank is groot. :thumb:
Bekijk bijlage TEST Alle testers laatste maand TEST BESTAND.xlsm
 
Het is misschien niet helemaal wat je zoekt, maar met VBA lukt het wel.

Dit is de code:

Code:
Sub Macro4()
    Sheets("Brondata tp bestand").Select
    Range("A1:B25").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("ZOEK FORMULES").Select
    Range("G128").Select
    ActiveSheet.Paste
    
    Range("G128").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("J128:J129"), CopyToRange:=Range( _
        "B128:C128"), Unique:=False
End Sub

Om de een of andere reden krijg ik het voorbeeld bestand niet ge-upload (krijg steeds een foutmelding), daarom maar even een printscreen

Screenshot_4.png
 
Laatst bewerkt:
Ik heb een poging gedaan met Advanced Filter en een macro knop om hem te activeren,
 

Bijlagen

  • TEST Alle testers laatste maand TEST BESTAND(pcb).xlsm
    1,2 MB · Weergaven: 49
@VenA: niets, jammer dat ik dat niet eerder heb gezien; had me toch wat tijd gescheeld.:rolleyes:
 
@VenA @JanBG Inderdaad zelfde vraag, maar nu met antwoord. Dus thanks hiervoor. :thumb:

@Piet Blom Slim ;) deze manier had ik nog niet eens bij stil gestaan. Super. Thnx!!!!
 
Ik heb een poging gedaan met Advanced Filter en een macro knop om hem te activeren,

Wat betekenen de ranges "Crit1" en "Outp1"?

Wanneer ik het advanced filter met macro knop in het bestand wil toepassen krijg ik de melding:

Fout 1004 tijdens uitvoering:
Methode Range van object_Global is mislukt

Het enige verschil is dat de resulten op range B128:C128 beginnen. In jouw bestandje is dit B8:C8. Urrgh ik ben zo onhandig met Excel.
 
Het is misschien niet helemaal wat je zoekt, maar met VBA lukt het wel.

Dit is de code:

Code:
Sub Macro4()
    Sheets("Brondata tp bestand").Select
    Range("A1:B25").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("ZOEK FORMULES").Select
    Range("G128").Select
    ActiveSheet.Paste
    
    Range("G128").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("J128:J129"), CopyToRange:=Range( _
        "B128:C128"), Unique:=False
End Sub

Om de een of andere reden krijg ik het voorbeeld bestand niet ge-upload (krijg steeds een foutmelding), daarom maar even een printscreen

En nu nog even al die 'selects' wegwerken.
 
@snb: ik weet het; ben soms wat hardleers en lui....
 
Het is misschien niet helemaal wat je zoekt, maar met VBA lukt het wel.

Dit is de code:

Code:
Sub Macro4()
    Sheets("Brondata tp bestand").Select
    Range("A1:B25").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("ZOEK FORMULES").Select
    Range("G128").Select
    ActiveSheet.Paste
    
    Range("G128").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("J128:J129"), CopyToRange:=Range( _
        "B128:C128"), Unique:=False
End Sub

Om de een of andere reden krijg ik het voorbeeld bestand niet ge-upload (krijg steeds een foutmelding), daarom maar even een printscreen

Bekijk bijlage 307827

Ik heb zitten spelen met je code. Alleen pakt ie de hele lijst en kopieert ie deze naar G:H. Snap niet zo goed wat ik fout doe? :confused:
 

Bijlagen

  • Zoekfilter bestand test.xlsb
    1,3 MB · Weergaven: 31
Komt omdat je de criteria range niet hebt meegepakt. Zonder filtercriteria pakt ie alles.

Krijg het bestand om de een of andere reden weer niet ge-upload, daarom maar weer een printscreen

Screenshot_7.png

Cel J128 moet "bedrijfsnaam zijn" een exacte kopie van cel C128. In Cel J129 heb ik een keuze lijst gemaakt waarin alle bedrijven die in blad Brondata staan aan te klikken zijn. Kies er een en het filter laat alleen dat bedrijf zien
 
En om snb te plezieren ook een paar Select weggewerkt:

Code:
Sub Knop4_Klikken()
    Sheets("Brondata tp bestand").Range("A1:B25").Copy
    Sheets("ZOEK FORMULES").Range("G128").Select
    ActiveSheet.Paste
    
    Range("G128").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("J128:J129"), CopyToRange:=Range( _
        "B128:C128"), Unique:=False
End Sub
 
O ja, je moet
Code:
Sheets("Brondata tp bestand").Range("A1:B25").Copy

vervangen door
Code:
Sheets("Brondata tp bestand").Range("A1").CurrentRegion.Copy
, dan hoef je niets aan te passen als er meer info in je bronbestand komt.
 
@JanBG

Nog niet helemaal:

Code:
with Sheets("ZOEK FORMULES").Range("G128")
     sheets("Brondata tp bestand").Range("A1:B25").Copy .offset
     .CurrentRegion.AdvancedFilter 2, .offset(,3).resize,2), .offset(,-5)
end with
 
Laatst bewerkt:
Wat betekenen de ranges "Crit1" en "Outp1"?

@TWDR,
Crit1 is een named range en bestaat meestal uit 2 regels. De 1ste met headers van je database (named range: dba)
Op de 2de regel zet je de te filteren waarden
Outp1 is een named range en geeft aan welke kolommen uit de database als output overgehaald moeten worden op basis van het criterium.
Ik hoop dat dit iets verduidelijkt.
 
Het is nagenoeg hetzelfde antwoord als in jouw andere draadje. Dat je de suggesties niet weet toe te passen is dan weer een ander verhaal.

@Piet Bom, Waarom alles in een named range?

Volgens mij gaat het zo ook goed.
Code:
Sub VenA()
  Sheets("Brondata tp bestand").Range("Tabel1[#All]").AdvancedFilter xlFilterCopy, Range("A1:A2"), Range("B8:C8")
End Sub
 
@Piet Bom, Waarom alles in een named range?

@VenA,
Dat is de macht der gewoonte.
Ik stam nog uit het tijdperk van voor Excel2003 en daarbij een lichte vorm van autisme....
Maar je hebt gelijk: met tabellen passen de ranges zich automatisch aan en is dus handiger.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan