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

Informatie uitfilteren d.m.v. formulierbestemmingselementen

Status
Niet open voor verdere reacties.

DendeB

Gebruiker
Lid geworden
24 apr 2013
Berichten
13
Allereerst lijkt het mij handig om te melden dat ik nog een beginnend gebruiker ben met Excel. Ik gebruik versie 2007.

Voor mijzelf heb ik een overzicht gemaakt van (tekst)gegevens opgesteld onder verschillende kolommen. Binnen deze kolommen bestaan er enkele verschillende (uitsluitend tekst)gegevens.
Nu wil ik voor de uiteindelijke gebruiker een zo gebruiksvriendelijke manier van filtering van deze informatie opstellen.

Hiervoor zou ik graag een formulierbestemmingselement (tab Ontwikkelaars -> Invoegen) willen gebruiken. Zodat de gebruiker door middel van een simpele selectie de benodigde informatie (regels waar de geselecteerde informatie zich bevindt) kan uitfilteren. Ik heb enkele tijd met Excel zitten stoeien en ook op diverse fora gezocht voor een mogelijk antwoord, maar ik heb geen duidelijke methode gevonden om het uit te voeren.

Voor de duidelijkheid zou ik graag een tekstfiltering willen uitvoeren door middel van een formulierbestemmingselement.

Ik hoor graag van jullie.
 
Als beginnend gebruiker van excel zou ik eens beginnen met een normale filter of nog beter maak een tabel van je gegevens.
Voor formulierbesturingselementen heb je niet alleen kennins van excel nodig maar ook van VBA.

In de bijlage een voorbeeldje met een tabel icm een macro.

Bekijk bijlage filteren.xlsm

Plaats anders even een voorbeeld bestand


Niels
 
Laatst bewerkt:
Niels,

Filteringen kan ik wel maken en vind daar ook geen moeilijkheden in.
Ik heb ook draaitabellen geproduceerd om de informatie zo goed mogelijk te filteren, maar deze wijze vond ik te omslachtig voor de toekomstige gebruikers (ze moeten naar mijn mening geen velden kunnen in- en uitvouwen).

Mijn doel is om aan een voorblad enkele opties weer te geven (lees verschillende tekstinformatie) en wanneer deze optie wordt geselecteerd er automatisch alle regels waar deze tekstinformatie wordt gefilterd en in een werkblad wordt geopend.

Dus in het voorbeeld wat jij geeft:
In een voorblad heb ik bv. de keuzes tussen de verschillende opties onder de kolom tekst. Wanneer deze optie wordt geselecteerd wordt de regel met de geselecteerde optie automatisch geopend en wordt in dit geval ook de inhoud wat zich onder de kolom naam weergegeven.
(vb. ik selecteer in het voorblad ba en in een apart werkblad wordt de regel met tekst: ba en naam: acteren geopend)
 
Dat doet mijn voorbeeld toch alleen dan in hetzelfde blad, wat is nu je vraag?
Vul maar in in de gele cellen.

Niels
 
Excuses, ik keek te snel.

Is het mogelijk om deze functie als knop in te stellen en daarbij dat er gezocht wordt in meerdere werkbladen?
 
Excuses Niels,

Ik zal het ditmaal iets beter toelichten.
Ik heb een klein voorbeeldje in elkaar gezet om duidelijk te maken wat ik wil.
Ik heb meerdere werkbladen met gegevens (dit geval Vervoer 1 t/m 3). Mijn bedoeling is om bij het werkbladen een automatische filtering uit te voeren door op een knop te drukken. Dus wanneer ik op de knop Vliegtuig druk dat alle regels uit alle werkbladen met de gegevens Vliegtuig op een nieuw gevormd werkblad worden gefilterd en verzameld.

Ik hoop dat dit een duidelijke toelichting is voor mijn vraag.
 

Bijlagen

Zo dat ziet er al heel mooi uit.

Is het dan ook nog mogelijk om alle (geselecteerde) informatie uit alledrie de werkbladen te verzamelen in één nieuw werkblad?

Dus als ik op de knop druk dat ik naar een nieuw werkblad ga en alle (geselecteerde) gegevens uit de drie werkbladen verzameld krijg op dat blad.
 
zie bijlage
 

Bijlagen

Dat ziet er helemaal mooi uit! Zo bedoelde ik het!
Maar nu wil ik het in mijn eigen excel bestand gaan implementeren.
Kan ik de code simpel gezegd kopiëren?
Maar welke codes/regels moet ik dan veranderen om:

  • Mijn range van de te selecteren werkbladen weer te geven (al wil ik dat de macro niet de eerste drie werkbladen niet meeneemt).
  • De te zoeken gegevens (in dit geval vb. Vliegtuig) veranderen.

Code Excel.png
 
elke knop verwijst naar een eigen macro > Auto verwijst naar macro Auto
Code:
Sub auto()
     vervmid = "Auto"
     ophalen (vervmid)
End Sub

vervmid is hierin een variabele die de te zoeken tekst meekrijgt

In macro Auto wordt macro ophalen aangeroepen en daarin bepaalt dit het aantal bladen
Code:
    bladen = ActiveWorkbook.Sheets.Count
en dit bepaalt welke bladen afgelopen worden:
Code:
For b = 2 To bladen

de 2 is het eerst behandelde blad, in jouw geval dus wijzigen in 4
 
Perfect!

Heel erg bedankt!

Alleen... Ik wil meer!:d

Is het mogelijk om een tweede filtering uit te voeren voordat er daadwerkelijk gegevens worden getoond?

In het geval van het voorbeeld:
Ik selecteer als eerste optie Vliegtuig, door deze selectie komen de opties Nederland, Duitsland, Engeland en Frankrijk naar voren.
Wanneer één van deze opties wordt geselecteerd (stel Nederland), komen alleen de regels met Vliegtuig en Nederland naar voren.


Niels28 & Haije, alvast heel erg bedankt voor jullie moeite!

[NB. Waar moet ik een code invoeren al wil ik dat de gegevens op het tweede werkblad worden getoond i.p.v. de eerste?]
 
Laatst bewerkt:
DendeB,

dat zou ik zo oplossen
 

Bijlagen

@ Haije
Ipv 4 arrays zou ik hem in 1 gieten.
Code:
Sub ophalen(vervmid)
Application.ScreenUpdating = False
    If Range("F3") <> "" Then Range("F3:I" & Range("F3").CurrentRegion.Rows.Count + 2).ClearContents
    ReDim vmid(4, 1)
    x = 0
    For b = 2 To Sheets.Count
        With Sheets(b)
        teller = 1
        Do While .Range("A1").Offset(teller) <> ""
            If .Range("A1").Offset(teller) = vervmid Then
                ReDim Preserve vmid(4, x)
                vmid(0, x) = .Range("A1").Offset(teller)
                vmid(1, x) = .Range("A1").Offset(teller, 1)
                vmid(2, x) = .Range("A1").Offset(teller, 2)
                vmid(3, x) = .Name & " rgl: " & teller + 1
                x = x + 1
                teller = teller + 1
                GoTo overslaan:
            End If
            teller = teller + 1
overslaan:
        Loop
        End With
    Next b
    Sheets(1).Range("F3").Resize(x, 4) = WorksheetFunction.Transpose(vmid)
Application.ScreenUpdating = True
End Sub
 
Nogmaals bedankt allemaal,

Nu heb ik weer een (soortgelijk) probleem.
Om mijn tabel wat overzichtelijker te maken (minder herhaling van informatie) ben ik gebruik gaan maken van x'jes.

Nu zou ik graag willen dat er binnen een specifieke kolom naar deze x wordt gezocht en de bijbehorende regel wordt verzameld op het verzamelblad.
Ik heb het geprobeerd voor elkaar te krijgen met de bovenstaande (van Haije) macro, maar ik kom er helemaal niet uit.

Zouden jullie me hierbij kunnen helpen misschien?
 
Laatst bewerkt:
DendeB,

als je nu nog een bijlage post kunnen we zien wat er aan de hand is.....
 
Excuses,

Hierbij een voorbeeld hoe ik het graag zou zien.

Bekijk bijlage Voorbeeld.xlsx

Je krijgt als gebruiker in het werkblad Keuzemenu een keuze (in dit geval 3 knoppen: Licht-Rood, Alle Licht en Alle Rood).
Mijn doel is nu dat er wanneer één van deze keuzes wordt aangevinkt dat in het werkblad Data in de desbetreffende kolommen voor een waarde "x" wordt gezocht.
En wanneer deze is gevonden dat de eerste twee cellen (in dit geval de kleurcombinatie) en de kolom waar de "x" zich bevindt wordt verzameld in het blad Uitkomsten.

Dan zou voor de eerste knop er maar in één rij gezocht moeten worden.
Voor de tweede knop in drie rijen.
En voor derde knop in vier rijen.

Het is een erg lastige vraag (vind ik zelf althans), maar ik hoop dat jullie een oplossing kunnen geven.
 
De vraag op zich is niet zo moeilijk, alleen kan ik aan de hand van je voorbeeld niet kan uitmaken waar wat gezocht moet worden.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan