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

excel: filter unieke waarden

Status
Niet open voor verdere reacties.

madmuppet

Terugkerende gebruiker
Lid geworden
5 dec 2001
Berichten
2.273
ik heb een spreadsheet in excel welke o.a. kadastrale gegevens bevat (een lijst met eigendomsgegevens van stukken grond dus)

Er zijn diverse percelen welke in bezit zijn van één en dezelfde eigenaar. Hoe krijg ik het voor elkaar om de unieke eigenaren te extraheren, zo mogelijk zonder gebruik te maken van VBA?
Met andere woorden: ik moet op de een of andere manier een lijst zien maken waarin elke unieke eigenaar één keer staat genoemd

Met VBA lukt het wel, maar omdat het bestand door meerdere personen op meerdere pc's bekeken moet kunnen worden, is dat natuuurlijk weer vragen om problemen. Gewoon een ouderwetse formule zou dus buitengewoon handig zijn. Wie heeft er een goed idee?
 
Laatst bewerkt:
Is dit werk eenmalig of moet het vaak herhaald worden? Wijzigt de lijst soms?
 
in beginsel is het éénmalig, maar ik wil er uiteindelijk een template bestand maken, waarin lijsten met gegevens kan inlezen. Eén van de functies moet dan het sorten van unieke waarden worden.

Kijk met VBA is dat geen kunst: 1 knopje om te sorteren, ander knopje om alles weer volledig zichtbaar te maken. (lang leve de macrorecorder)

Private Sub CommandButton1_Click()
'filterbereik wordt aangegeven als a1:a150
Range("a1:a150").Select
Dim Uniqs As New Collection
Application.ScreenUpdating = False
Set AllCells = Selection
On Error Resume Next
For Each Cell In AllCells
Uniqs.Add Cell.Value, CStr(Cell.Value) & CStr(Cell.Offset(0, 1))
'filter heeft ook betrekking op de cellen op 0,1 vanaf de aangegeven range (dus ook de cellen in de volgende kolom)
If Err.Number <> 0 Then Cell.EntireRow.Hidden = True
Err.Clear
Next Cell
On Error GoTo 0
Application.ScreenUpdating = True
Set Uniqs = Nothing
Clear = True
End Sub



Private Sub CommandButton2_Click()
With Blad9
.Cells.EntireRow.Hidden = False
End With
End Sub


probleem is dat als je VBA opneemt in een werkboek dat op meerdere pc's geopend wordt, je meteen tegen allerlei beveiligings-instellinge oploopt. Om nog maar te zwijgen over het aanroepen van externe gegevens (bestanden) via VBA.
 
Laatst bewerkt:
Eerst Data > Advanced filter en in de opties Unieke elementen (of iets dergelijks)
dan, indien nodig, Data > Sorteren.

en als ik dit in VBA zou moeten doen, zou ik gewoon Advanced filter en Sorteren in VBA zetten.
 
Mja, dat werkt natuurlijk wel. Komt min of meer overeen met de macro die ik hierboven heb geplaatst. Werkt goed bij een statische lijst, maar is niet buitengewoon praktisch in geval van een vigerende lijst. Tenzij je het niet erg vind dit kunstje steeds opnieuw te doen.

Maar.... enig idee of dit ook via een formule te doen is? Ik zou graag een workbook maken dat dergelijke acties gewoon automatisch uitvoert. Ik heb er even over zitten denken, maar kan eigenlijk niks verzinnen, zelfs niet met een omweggetje... :confused:
 
Laatst bewerkt:
madmuppet zei:
Mja, dat werkt natuurlijk wel. Komt min of meer overeen met de macro die ik hierboven heb geplaatst. Werkt goed bij een statische lijst, maar is niet buitengewoon praktisch in geval van een vigerende lijst. Tenzij je het niet erg vind dit kunstje steeds opnieuw te doen.

Is het erg om op een knop te klikken waardoor er een macro uitgevoerd wordt?

madmuppet zei:
Maar.... enig idee of dit ook via een formule te doen is?

Dit is doenbaar met een formule. Alleen:

- dit is zeer moeilijk om op te stellen

- je hebt Array formules nodig, die worden traag als er veel gegevens in de lijst zijn

- unieke gegevens filteren, tot daar aan toe, maar om dan nog eens te sorteren, ... succes ermee :o

- kans is groot dat je bij een nieuwe lijst de bereiken in de formule moet aanpassen. Niet alleen kost dit uiteindelijk meer tijd dan op een knop klikken, aan zulke formules kan je al snel niet meer aan uit. (Als je ze al volledig snapt in het begin). Ik spreek uit ondervinding.

Mischien niet zo prettig als reactie, maar het is nu eenmaal zo.

Wigi
 
Wigi zei:
- unieke gegevens filteren, tot daar aan toe, maar om dan nog eens te sorteren, ... succes ermee :o

Jah... ik zet de vraag niet voor niets hier op het forum :p

Anyway... ik denk dat ik toch maar gewoon een workbook ga maken met een paar macro's erin, verstopt onder knoppen. Dan maar wat extra moeite doen om beveiliging in te bouwen in een poging het "idiot-proof" te maken.
 
madmuppet zei:
Jah... ik zet de vraag niet voor niets hier op het forum :p

Wie niet waagt, niet wint.

Maak gewoon een macro, de code is niet langer dan 2 regels. 1 voor de advanced filter, 1 voor het sorteren. Moet wel doenbaar zijn zeker :D

Wat je daarnaast nog aan code opneemt moet je zelf maar zien.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan