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

Gefilterde gegevens in een listbox zien

Status
Niet open voor verdere reacties.

jefkeh

Gebruiker
Lid geworden
23 feb 2014
Berichten
110
Hoi,
Ik heb een werkblad met allemaal datums erop gaande over meerdere jaren.
Nu zou ik graag via een formulier met listbox, alleen de gegevens zien in de listbox van een jaar.
1. ik kan vooraf in mijn werkblad al een filter zetten op een jaar, hoe werkt dit?
2. via een extra formulier een jaar opvragen, code?
Op jullie forum hebt ik al wel iets gezien maar dat gaat via datum.
Alvast bedankt
 

Bijlagen

  • Kal 2018 test.xlsb
    312,1 KB · Weergaven: 40
Selecteer A2:I2 en kies voor Autofilter dan kan je opzoeken per jaar en/of maand en op elke kolom.

2de vraag snap ik niet zo goed.
 
Sorry Cobbe, ik heb niet erg duidelijk geweest.
1. als ik in mijn werkblad eerst al filter op een bepaald jaar zet(geen probleem), maar als ik een formulier opendoen met daarop een listbox, dan zou ik die
gefilterde gegevens daar in willen in die listbox.
2. ik heb een formulier met listbox, in de listbox staan alle gegevens van alle jaren.
Nu wil ik via een textbox of combox laten filteren op een bepaald jaartal en dat ik deze dan te zien krijg in de listbox (ik vraag 2018 op en dan mag ik alleen de
gegevens van 2018 zien) zie bestand
3 achteraf de filter terug uitzetten (knop)
 

Bijlagen

  • Kal 2018 test.xlsb
    311,4 KB · Weergaven: 47
Met dank aan de website van @snb kom ik voor vraag 1 op de volgende code:
Code:
arr = Sheets("Algemeen").Range("a3:q" & Sheets("Algemeen").Cells(Rows.Count, 2).End(xlUp).Row).Value
For i = LBound(arr, 1) To UBound(arr, 1)
    If Year(arr(i, 2)) = 2017 Then s = s & "|" & i
Next i
arrFilter = Application.Index(arr, Application.Transpose(Split(Mid(s, 2), "|")), Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17))
ListBox1.List = arrFilter

Deze code komt in de plaats van de regel
Code:
ListBox1.List = Sheets("Algemeen").Range("a3:q" & Sheets("Algemeen").Cells(Rows.Count, 2).End(xlUp).Row).Value

Ik begrijp overigens niet dat je alle 17 kolommen in de listbox wilt zien, maar daar ben ik in bovenstaande code wel vanuit gegaan. Anders het bereik aanpassen en het aantal kolommen terugbrengen.

M.b.t. vraag 2 begrijp ik niet echt wat de bedoeling is. Je kunt een filterveld maken (bv. een textbox) op het formulier wat je nu al hebt. Je moet dan de hard gecodeerde 2017 vervangen voor de waarde van dat filterveld.
 
Den Jef zijn vraag had ik al deze morgen gezien, ik had echter geen zin om te antwoorden. Waarom, in zijn vorige vraag had ik alle overbodige rommel uit zijn code gehaald.
1. den Jef vond het niet de moeite om te antwoorden.
2. den Jef heeft er niets uit geleerd, met andere woorden hij gebruikt de zelfde rommel code, en om de handtekening van Vena te gebruiken
Je kan een knol naar het water leiden, maar als de knol niet wil zuipen, tja.
Hierbij een voorzet (zonder Ts zijn rommel eruit te halen)
@ Ts
Het heeft trouwens weinig zin om een vraag over filteren te vragen, als er alleen 2017 te vinden is in uw vb bestand.
Extra uitleg voor de knol die niet wil zuipen. Door uw huppeldepup code duurt het een beetje als je in het zoekveld iets intikt (2017, als je 2016 intikt krijg je geen resultaten want in uw vbtje is 2016 of 2015 of... niet te vinden)
Suc6
 

Bijlagen

  • Kal 2018 test.xlsb
    313,9 KB · Weergaven: 95
@gast0660, Dat jullie Belgen alleen knollen kunnen fokken en dat zuipen gelijk is aan drinken is in dit kikkerlandje bekend.:p:p:d
 
Hier ben ik effen niet mee, heb zojuist de oplossing gevonden dank zij de steun van EA en BP. Ik denk niet dat ik nog een vraag stel.
Mvg
Prettige feestdagen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan