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

Filteren op meerdere kolommen

Status
Niet open voor verdere reacties.
staan er dan lege rijen in het bereik?
 
@Haije, als ik nieuwe regels tussen voeg met info, dan komen er bij het filteren lege rijen tussen te staan, maar @emields had dit al opgelost.

@emields, dank voor het bestand, echter gaat er iets niet goed, als ik nu bijvoorbeeld LA en CON selecteer, dan geeft het filter in de pop up netjes aan dat er 12 rijen zijn, maar zodra ik op ok druk en er wordt een nieuwe tabel gemaakt staat er maar 1 rij?

@AD1957, thanks ziet er goed uit. Echter werkt het niet helemaal lekker, zodra ik 2 afdelingen ingevuld heb en filter, dan doet deze dat netjes, maar druk ik op sluiten of op het kruisje dan reset hij alles en krijg ik weer de originele lijst te zien en niet de gefilterde lijst.
En kan het tussenvoegen van rijen niet dynamisch gemaakt worden ipv een range aan te geven, als je alleen de beginrij aangeeft en currentregion erachter voegt, dan maakt het niet uit waar het eind van je tabel is toch, dan kan je regels tussen blijven voegen en het filter past zich automatisch aan?
currentregion.JPG

Ik ben zelf nu ook een aantal dagen bezig geweest met het advanced filter en ik kom een heel eind (https://www.youtube.com/watch?v=br5SGt59KLU) en kan ik meerdere kolommen die verschillende data hebben filteren, maar zodra er dezelfde data in staat gaat het fout (dus kolom V tot AB) en filtert er niks. Maar wat nog veel irritanter is en waar ik op dit moment effe niet helemaal goed van word, is dat het filter na een aantal x gebruiken ineens niet meer werkt en dat er een fout in de code zit, terwijl er helemaal niks aan veranderd is. Dit gebeurt voornamelijk als ik een keer switch tussen een tabblad en daarna terugga, dan werkt het filter niet meer. Maar voordat ik hiermee verder ga of hulp bij vraag, vroeg ik me eigenlijk af of onderstaande mogelijk is.

Ik heb onderstaand userform aangemaakt, waar multi select mogelijk is (middels crtl of shift te gebruiken). Zie de blauw gearceerde componenten.
Userform.JPG

Nu is mijn vraag, kan ik dit formulier werkend krijgen om te gebruiken als filter, zo staat alles in 1 formulier.
Het zou dan mogelijk moeten zijn om bijvoorbeeld de blauw geselecteerde zaken in de diverse listboxen aan te klikken en dan te filteren, er wordt dan uit meerdere kolommen gefilterd, maar het moet ook mogelijk zijn om maar 1 ding aan te klikken uit 1 listbox. Dus bijvoorbeeld uit de listbox fase, alleen DO en dan filteren.
Alleen de knop reset en sluiten werkt momenteel, ik kom er niet uit via internet hoe ik diverse listboxen combineer en filter op deze manier.
Dus is dit mogelijk wat ik vraag? Want het advanced filter is leuk, maar het zorgt er op dit moment wel voor dat ik een nieuwe lijst naast de bestaande lijst krijg (dit gebeurt niet bij de oplossing van AD1957) en dat mijn opmaak deels verwijderd wordt. Het voorbeeld van AD1957, gaat wel deels in de goede richting, alleen is dit dus uitbreidbaar naar mijn userform, zoals ik het zou willen?
Bijgaand een nieuw bestand met aangemaakt userform.

Ik weet dat ik nogal wat vraag, maar hoe dieper ik er nu zelf in zit, hoe meer mogelijkheden ik zie, alleen ik weet nog niet echt hoe dit precies te doen. Alvast dank voor de hulp.
 

Bijlagen

Laatst bewerkt:
maar druk ik op sluiten of op het kruisje dan reset hij alles en krijg ik weer de originele lijst te zien.
Controleer de code van de knop sluiten en de code userform_queryclose.
Lijkt me dat je er dan wel uitkomt.
 
opgelost de oorzaak was dat de eerste kolom niet altijd gegevens bevat.

en misschien zou je beter vertellen wat je in al die listboxen wil zien. wil je die enkel gebruiken om alles te alle mogelijke en onmogelijke manieren te filteren of moet er ergens in 1 of meerdere listboxen een resultaat komen en wat moet er in de verschillende textboxen komen.
 

Bijlagen

Laatst bewerkt:
@emields Textboxen beter vervangen door labels.

Het is moeilijk te doorgronden wat nou precies de bedoeling is, Dave zal duidelijker moeten zijn in zijn vraagstelling.

Enkele vragen/opmerkingen voor Dave:
1. Waarom in de tabellen op blad tabellen beginnen met een lege rij.
2. Welk genie kan allemaal die afkortingen in de gegevensvalidatie op Blad3 onthouden, lijkt me onmogelijk.
3. de kolommen vallende onder de discipline kun je beter vervangen door 1 kolom en hierin de omschrijving zetten.(edit:toch niet, meerdere disciplines per regel mogelijk)

Ik heb toch maar eens een het userform aangepast, zelf maar eens testen en proberen de codes te begrijpen.
Kijk ook eens hier voor autofilter.http://www.snb-vba.eu/VBA_Autofilter.html
 

Bijlagen

Laatst bewerkt:
@emields, thanks
Textboxen moesten inderdaad labels zijn. Zie verder reactie op AD1957 wat ik wil.

@AD1957
Je begrijpt me toch beter dan je denkt, het is nagenoeg wat ik bedoelde.

Antwoord op je vragen:
1) Lege regel is niet nodig, ik had deze staan om een lege cel in blad3 te houden, maar dat is niet nodig, bij delete gegevens is het vak ook leeg.
2) Deze afkortingen zitten bij mij en een aantal anderen bijna standaard in het hoofd en als men het even niet weet kan men in het tabblad tabellen opzoeken wat het betekent. Ik kon effe geen andere manier verzinnen om dit in blad3 te krijgen zonder dat de cellen veels te groot werden.
3) dat wilde ik eerst ook, alleen zoals jezelf als zag, soms kan het onder meerder disciplines vallen.

Het userform werkt nagenoeg zoals ik bedoelde. Heel veel dank daarvoor.

Ik heb alleen een opmerking. Jij hebt nu een code aangemaakt en 2 keuzevakken bij de listbox van de afdelingen, zodat er 2 afdelingen geselecteerd kunnen worden. Helemaal top, maar kan dat niet door gebruik te maken van fmMultiSelectExtended. Je kan dan in de listbox (geldt voor allemaal) automatisch meerdere zaken aanklikken en dan filteren?. Alleen zal je dan een andere code nodig hebben. Maar misschien zie ik dat verkeerd. Dan krijg je volgens mij dat je in principe alles met elkaar kan combineren (kan nu ook al deels), alleen dan meerdere zaken uit 1 listbox en niet beperkt tot 1 (of 2 zoals in listbox afdelingen)?

Multiselect.JPG
 
Laatst bewerkt:
Probeer eerst de codes te begrijpen.
Er is een wezenlijk verschil tussen de code in de eerste en de andere listboxen.
 
Ik begrijp dat er een verschil in de codes zit. Want met de 1e listbox, kan ik 2 items selecteren en filteren en met de andere 1 item.
Ik vroeg me alleen af op je met fmmultiselectextended niet meer mogelijkheden hebt.
 
De vraag was of je de codes begrijpt, en niet of er verschil in zit.

Gezien het bestand lijkt het me dat je werkt bij een best wel groot bedrijf. (gebouwen van 15 etages bouwt niet iedereen)
dus:
Alle bedrijven die hun medewerkers gebruik laten maken van de kennis op dit forum worden van harte uitgenodigd
hun waardering te laten blijken door een financiële bijdrage aan de continuïteit van dit forum te leveren.
Als verenigingslid zou ik het op prijs stellen als je jouw werkgever dit eens laat lezen.:D:d

Omdat ik voor mezelf eens wilde uitvogelen wat mogelijk is toch nog een bijdrage.(codes zullen zeker beter c.q. compacter kunnen)
Lees/begrijp de codes en je vindt misschien nog een paar verrassingen.
dubbelclick maar eens in de kolommen disciplines
 

Bijlagen

Toch nog eens gekeken naar de mogelijkheden.
Probeer het userform FILTER maar eens.
Tevens nog een userform INVULLEN toegevoegd. (dan hoeven de gebruikers niet alle afkortingen te weten.)
De laatste opent bij selecteren van de diverse in te vullen cellen.
De rest wijst zich vanzelf, gewoon uitproberen.
Succes.
 

Bijlagen

Albert, heel erg bedankt. En fijn dat je meedenkt m.b.t. de afkortingen, maakt het inderdaad een stuk makkelijker.
Ik was aan de gang gegaan met versie 6 en had inderdaad de invulvelden gezien. Zag alleen bij versie 6 dat het filteren niet meer goed werkte. Bij versie 4 was er tussen de listboxen een EN werking en in de listbox afdeling een OF werking. Hierdoor werd het juiste geselecteerd. Echter bij versie 6 met 2 keuzenvakken en nu ook 7 (mooi dat je de multiselect werkend hebt :-) ) heeft ALLES een OF werking gekregen, dus als ik uit meerdere listboxen selecteer krijg je alle opties waar de selectie in zit. En dat was niet de bedoeling. In de listbox zelf is een OF werking van toepassing, maar tussen de listboxen onderling een EN werking (hoop dat je me begrijpt met EN en OF), nu is alles OF.
Ik had nu een combinatie gemaakt van versie 4, het userform filter en versie 6, het userform invullen en deze verder uitgebreid. Ik kan hierbij nog via de gewone filter boven de kolommen altijd bijfilteren zeg maar (nadat ik bijvoorbeeld DO in fase heb geselecteerd, kan ik daarna nog TO bijselecteren), niet helemaal ideaal, maar zo ging het ook nog
Zag nu bij versie 7 dat je het invullen nog verder verbetert had, viel me alleen wel op dat ik nu niet meer zelf tekst in een cel kan plaatsen of tekst kan deleten, anders dan de ontwerpmodus aan te zetten, dat is wat minder handig, nu kan ik dit wel oplossen door wel weer een lege regel toe te voegen aan de tabellen, zodat je ook altijd een lege cel kan selecteren mocht er geen code nodig zijn.
Verder viel me bij versie 7 en het userform invullen opdat dat je 2 verschillende codes gebruikt voor hetzelfde, als ik dit aanpas naar allemaal dezelfde code blijft het ook werken, maar als ik de regel uit de code haalt werkt het ook nog steeds, dus wat doet deze regel.

Case 4
With Uf_invullen
.Caption = "VERDIEPING"
.Label1.Caption = "click om verdieping in te vullen"
.ListBox1.List = Blad2.ListObjects("Tbl_verdieping").DataBodyRange.Value
.Left = 250 * ActiveWindow.Zoom / 100
.Show
End With
Case 5
With Uf_invullen
.Caption = "LOCATIE"
.Label1.Caption = "click om locatie in te vullen"
.ListBox1.List = Blad2.ListObjects("Tbl_locatie").DataBodyRange.Value
.Left = (Cells(1, 9).Left + 50) * ActiveWindow.Zoom / 100
.Show
End With

Hoop dat het is beetje duidelijk is wat ik zeg.

Dank voor het meedenken en dat je er tijd in blijft steken.
 
Laatst bewerkt:
Code:
.Left = 250 * ActiveWindow.Zoom / 100
geeft de userform positie op het beeldscherm vanaf links.
zoek eens op internet op: vba .left
p.s.: Deze positie zal bij andere/verschillende beeldschermformaten niet altijd optimaal werken.
Ik weet dat daar een oplossing voor is, maar kan die zo snel niet vinden.

de activewindow.zoom/100 heb ik er extra bijgezet, laat hem maar eens weg en kijk wat er gebeurt als je in-of uitzoomt.

Ik heb de code aangepast, het userform INVULLEN opent nu bij dubbelklick in een cel.
Bij alleen selecteren kun je nu de cel leegmaken of handmatig invullen.
Als het userform openstaat kun je eventueel met rechts klikken om de cel leeg te maken.(Private Sub Worksheet_BeforeRightClick)

Filteren:
Je kunt eventuele selecties naar believen weer weghalen door er weer op te klikken.(ik denk dat hiermee het probleem is opgelost.)
Gewoon wat meer proberen wat de mogelijkheden zijn.

Het allerbelangrijkste:
Neem de tijd om alle codes stuk voor stuk te begrijpen, zoek op Helpmij, internet.... er is genoeg te vinden.
 
Laatst bewerkt:
Ik krijg het bestand niet toegevoegd, zal het later nog eens proberen.
 
Hallo Dave,
viel me alleen wel op dat ik nu niet meer zelf tekst in een cel kan plaatsen of tekst kan deleten,
klick een keer extra op de cel, dan gaat het wel.
Openen van Uf_invullen dmv. event BeforeDoubleclick ipv event SelectionChange moet je zelf eens uitproberen. (smaken verschillen)
 
Dank Albert,

Ga er naar kijken! Lukt het jou nu wel om het laatste bestand toe te voegen? Ik kreeg die melding dinsdag ook na de update van de site. Lukte mij ook niet.
 
Bestand uploaden heeft geen zin, ik heb uiteindelijk niets gewijzigd.
Laat maar eens zien wat je tot nu toe hebt, en geef duidelijk aan waar het mis gaat. (niet teveel vragen in 1 x:d)
 
Hoi Albert,

Begrijp de left functie (als ik het echter in mijn eigen bestand invoer, blijft het invulscherm altijd in het midden staan wat ik ook invul bij cellen of afstand, in jouw bestand verspringt het wel mee, maar goed zo spannend vind ik dat niet) en begrijp ook wat je verder hebt gedaan met het formulier invullen.
activewindow.zoom/100 weglaten om te zien wat er gebeurt, ik zie echt niet wat dit doet, er gebeurt niks in mijn scherm?

Qua filteren werkt het nu niet, zoals ik al uitlegde, de EN functie tussen de listboxen is verdwenen, ook als ik overal maar 1 ding aanklikt, het klopt dan niet. Hij neemt dan alles mee wat in alle listboxen is aangeklikt (dus OF functie) en niet de combinatie van, zoals het wel was.
Voorbeeld 1: ARC + DO + W, krijg je alles van ARC, maar ook alles van DO en ook alles van W, dus niet alleen de regels waar alleen deze 3 dingen in voor komen.
Voorbeeld 2: uit 1 listbox filteren gaat prima, zoals ook de bedoeling is, dus als ik alles wil zien van DO en TO, krijg ik alle bestanden hiervan, zodra ik dit dan combineer met W, dan komen ook alle W bestanden met SO, VO, UO enz. erbij te staan. Het heeft dus allemaal een OF functie gekregen ipv EN functie tussen listboxen en alleen OF functie in de listbox zelf.

Gr. Dave
 
Dit gemist ?, met name voor de eerste vraag.
Laat maar eens zien wat je tot nu toe hebt
2e vraag is mij duidelijk, maar wat heb je geprobeerd om het probleem op te lossen ?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan