• 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 en filteren op naam met VBA

Status
Niet open voor verdere reacties.

JesperO

Gebruiker
Lid geworden
21 apr 2017
Berichten
11
Hallo,

Ik heb een bestand toegevoegd als voorbeeld.
Wanneer je deze opent, zie je een lijst van 7 namen met functie en werkgever. Dit wordt in de toekomst een bestand van wel 1.000 namen.
Graag zou ik dan makkelijk kunnen filteren bij de werkgevers lijst, zodat ik weet wie er allemaal bij die werkgever werkt.
Dit kan inderdaad via filter en dan zoeken op naam o.i.d.

Maar ik zou het graag makkelijker maken, door een knop toe te voegen, en wanneer je op deze knop drukt, krijg je een invulveld, en wanneer je daar een (deel) van de werkgeversnaam invult, komt er rechts meteen in een lijst zichtbaar welke werkgevers aan die zoekfunctie voldoen.
Wanneer je dan op die werkgever drukt, wordt het filter ingezet, en krijg je op het werkblad direct de filter in functie.

Wanneer iemand hier een andere/betere oplossing voor heeft, hoor ik dat ook graag!
 

Bijlagen

  • Werkgever Zoeken.xlsm
    18,3 KB · Weergaven: 45
Kan je hier wat inspiratie uithalen?
 

Bijlagen

  • Filter.xlsb
    28,5 KB · Weergaven: 81
Ik heb toch nog een vraag.
Is het mogelijk om deze filter op meerdere werkbladen binnen één bestand werkbaar te hebben?
Ik heb hem naar meerdere werkbladen gekopieerd, maar daar werken ze niet meer.
 
Plaats even het bestandje met de meerdere tabbladen en hoe je het hebt toegepast.
 
Hierbij het bestand.
Nu staat het filter op Voorgesteld.
Graag zou ik het ook op het werkblad "op gesprek" en "aan het werk" hebben.
 

Bijlagen

  • voorbeeld.xlsb
    132,2 KB · Weergaven: 49
Maak de code dynamisch

bv
Code:
Sub VenA(f1, f2, f3)
With ActiveSheet
  For j = 1 To .OLEObjects.Count
    If TypeName(.OLEObjects(j).Object) = "OptionButton" And .OLEObjects(j).Object = True Then
      .ListObjects(1).Range.AutoFilter Application.Choose(Right(.OLEObjects(j).Name, 1), f1, f2, f3), "*" & .TextBox1 & "*"
      Exit For
    End If
  Next j
End With
End Sub

Je kan deze dan bv zo aanroepen
Code:
Private Sub TextBox1_Change()
  VenA 3, 4, 6
End Sub
 

Bijlagen

  • voorbeeldzoveel.xlsb
    145,4 KB · Weergaven: 53
Of:
Code:
For Each ob In .OLEObjects
    If ob.progID = "Forms.OptionButton.1" And ob.Object = True Then
      .ListObjects(1).Range.AutoFilter Choose(Right(ob.Name, 1), f1, f2, f3), "*" & .TextBox1 & "*"
      Exit For
    End If
  Next ob
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan