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

zoeken in lijst. Filteren door middel van macro

Status
Niet open voor verdere reacties.

whitje

Gebruiker
Lid geworden
22 dec 2008
Berichten
64
Ik heb weer een uitdaging, althans vind ik zelf.

Probeer het even uit te leggen maar denk dat het het beste te begrijpen is door middel van het bijgevoegde voorbeeld bestand.

Ik heb een lijst: 1 kolom met namen en daarnaast 5 kolommen waar waarde in kunnen staan.
Graag zou ik willen dat deze lijst gefilterd kan worden op naam, maar met behulp van een opdrachtknop.

Dus iemand krijgt deze lijst voor zich maar wil alleen peter zien. Dan typt diegene 'peter' in, in het zoek vakje
en klikt vervolgens op de opdracht knop 'start zoeken'. En dan zou de lijst gefilterd moeten worden zodat alleen peter nog te zien is.

Ik weet dat het kan door middel van 'sorteren-en filteren' maar er gaan ook mensen gebruik van maken die dit niet weten. Vadaar dat ik een zoekoptie erin wil zetten.

Kan iemand mij hier mee helpen, of heeft een ander goed idee?
 

Bijlagen

Code:
Sub filteren()
    [Blad1!I4:N17].AutoFilter 1, [C4]
End Sub
Of met een textbox zoals in bijlage. door in de textbox een naam te typen wordt er automatisch gefilterd.
 

Bijlagen

Laatst bewerkt:
Ik vind het een TOP idee! :thumb:

Ga het morgen even proberen erin te zetten.
 
waarschijnlijk ben ik gewoon heel dom bezig nu, maar het lukt me niet zo heel erg...eigenlijk gewoon niet:confused:

Ik doe het volgende: Ga naar tabblad ontwikkelaars, invoegen, activeX-besturingselementen kies ik voor tekstvak.

Dan krijg ik zo'n tekstvak maar het enige wat ik ermee kan doen is ermee heen en weer slepen en vergroten en verkleinen, nou ja noem het maar op, maar er iets in typen hoo maar ;).
Waarschijnlijk is dit heel makkelijk op te lossen maar ik kan het niet vinden :o

En ik zie niet helemaal het verschil tussen enijhuis en warme bakkertje , maar ik vind ze allebei prima werken. :D
 
Laatst bewerkt:
Correctie nu met juiste bestand:
Onlangs heb ik een dergelijke oplossing ook al eens gebouwd. Deze oplossing maakt echter gebruik van een invoerscherm.
Het bestand bevat daarom iets meer code dan die van Warme bakkertje.
Zie bijlage.
 

Bijlagen

Heb je na het plaatsen v/h tekstvak de ontwerpmodus terug uitgeschakeld ?
 
:o Tnx warme bakkertje.

Loop alleen nu nog tegen een probleem aan, wat me ook in uw (warme bakkertje) bestand gebeurd.

Als ik een regel invoeg boven de regel met naam. (dus er staan nog andere rijen boven de lijst)
En ik ga dan zoeken op een naam, dan haalt die de regel waarin naam staat ook weg.

Beetje raar uitgelegd misschien maar als u een regel toevoegt boven de lijst en dan nogmaals een naam intypt dan is het te zien.

En nog een klein simple vraagje, is er een code aan toe te voegen die zegt wanneer je gaat zoeken naar een naam wil ik dat je tevens een kolom in andere kleur lettertype plaatst?
 
Laatst bewerkt:
@ enijhuis
Bedankt hoor :cool:

@Whitje
Waarom wil jij in 's hemelsnaam namen invoegen boven de kolomkoppen ??????:eek: :eek:
Plaats anders eens een voorbeeldbestandje met de werkelijke situatie van je werkblad, met een duidelijke uitleg wat je wil bereiken
 
Laatst bewerkt:
@ enijhuis: Bedankt wel voor je meedenken hoor :thumb:

Ik kan helaas niet het werkelijke bestand plaatsen daar staan gegevens in die ik niet op internet kan zetten.

Wel heb ik nu even uw bestand aangepast.

Ik heb boven de kolommen met gegevens 2 rijen toegevoegd, daarin staat een tekst 'gegevens 2010'.

het probleem is nu:
wanneer ik nu weer een naam ga zoeken, dan gaat sowieso rij 2 weg en rij 3 waarin staat naam, andere en data gaat weg.
Ik wil graag dat die rijen blijven staan wanneer er gezocht wordt.

hoop dat ik het nu beter heb uitgelegd daarnet was inderdaad beetje warboel
 
Code:
Private Sub TextBox1_Change()
Application.ScreenUpdating = False
    If Len(TextBox1.Value) = 0 Then
        Sheets(1).AutoFilterMode = False
    Else
        Sheets(1).Range("$A$[COLOR="red"]3[/COLOR]:$C$" & Cells(Rows.Count, 1).End(xlUp).Row).AutoFilter 1, "=*" & TextBox1.Value & "*", , , False
    End If
Application.ScreenUpdating = True
End Sub
Veel was er niet nodig;)
 
Alles aangepast in de code en toch doet hij het niet, nu kolom ingevoegd.

Ik doe vast iets heeeel doms, maar ik begrijp er echt niets van :confused::(
 

Bijlagen

Laatst bewerkt:
Code:
Sheets(1).Range("$B$3:$D$" & Cells(Rows.Count, [COLOR="red"]2[/COLOR]).End(xlUp).Row).AutoFilter 1, "=*" & TextBox1.Value & "*", , , False
 
!#$!#$$#%$% zoooo simpel ook.

lekker dom.

Super bedankt het werkt!!! :d
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan