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

Hoe automatisch dubbele waarden verwijderen?

Status
Niet open voor verdere reacties.
Misschien even de teksten in het bestandje in #13 lezen. Zoals ik het lees wordt er in blad 'INPUT' data ingevoerd maar moet er in 'Blad1' een lijst met unieke waarden overblijven. En dan voldoen alleen mijn laatst geplaatste suggesties aan mijn lezen.

Blad 'INPUT':
Beste, Dit in dit tabblad wordt de content aangepast. Hier worden nieuwe regels ingevoerd die automatisch worden overgenomen in het volgende Tabblad. Het is pas het VOLGENDE tabblad waaruit de dubbele waarden automatisch moeten verdwijnen.

Blad 'Blad1':
Beste, Dit zijn categorieen uit een andere excel lijst. De gebruiker van die andere excel lijst kan nieuwe regels ingeven en moet daarbij ook een categorie typen. Die categorie wordt overgenomen naar deze pagina (kolom A). Het is heel belangrijk dat elke keer er een nieuwe waarde verschijnt in deze kolom, deze automatisch wordt gecontroleerd op 'dubbele waarde'. Indien deze daadwerkelijk een dubbele waarde is, wordt deze verwijderd of niet weergegeven. Het is de bedoeling dat elke categorie maar één keer voor komt.

Met een (matrix) formule ook nog te doen. Dus maar afwachten wat de TS nu echt wil.
 
Laatst bewerkt:
Als je 1 maal de dubbele er uit haalt kun je in het vervolg data validatie gebruiken
 
Dit is #13.

Beste,

Ik heb de laatste code van VenA erin gezet en werkt fantastisch maar is nog niet perfect. Het werkt namelijk enkel op de cellen waarin ik iets nieuws typ. Als ik in kolom A een dubbele waarde typ, is die gelijk weg. Maar de dubbele waarden die er nog in staan, blijven staan. Die kolom A neemt trouwens de waarde over van een kolom in een ander tabblad. Als ik dan in die andere kolom een nieuwe categorie typ, wordt die overgenomen in Kolom A en blijft die staan.

Heb een nieuwe Excel toegevoegd:

Bekijk bijlage 329111

Code van @VenA werk fantastisch maar nog niet perfect; uit #8 neem ik dan aan, blijf ik bij die van mij.
 
@HSV, om in jouw eigen bewoording te blijven: 'Sommige vragen zijn al een puzzel op zich'.:d
 
Ja, best wel erg, vind je niet?
Steeds maar weer veranderingen/aanpassingen.

Ik schreef 'vragen', maar bedoelde 'vraagstellingen'; maar dat was wel duidelijk. :thumb:
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 Application.EnableEvents = False
   Columns(1).RemoveDuplicates 1, 1
 Application.EnableEvents = True
End Sub

Hallo HSV,
Ik heb zonet de code geprobeerd en bij sommige woorden werkt het, en bij andere weer niet? Heb vanalles getest en om een voorbeeld te geven, het woord "SINTERKLAAS" verschijnt niet in kolom A (blad 1) terwijl het wel de enigste categorie is met die naam. Als ik "BOEMAN" typ verschijnt deze wel zoals het hoort te zijn. Dit zijn maar enkele voorbeelden. Ik heb ook gedacht dat de fout misschien bij mij lag aangezien ik niet vertrouwd ben met VBA. Daarom heb ik een screenshot toegevoegd met de vraag of ik de code wel op de juiste plaats heb gezet? Alvast bedankt voor de moeite!codeForumvraag.PNG
 
Als je 1 maal de dubbele er uit haalt kun je in het vervolg data validatie gebruiken

Beste Popipipo,

Helaas is datavalidatie geen optie omdat het me tegenhoud als ik nieuwe regels wil toevoegen in het INPUT blad. Daar mogen wel dubbels in staan omdat het een soort van database is waar gebruikers regelmatig nieuwe content aan toevoegen. Het is pas het volgende blad waarbij de dubbels niet mogen verschijnen. Wat ik hier eigenlijk zoek te bereiken is het principe van de standaard filterlijst van Excel (Zie toegevoegde afbeelding). Het maakt daarbij niet uit hoeveel keer een bepaalde categorie voorkomt, in de filterlijst verschijnt deze maar één keer.
filterlijst.JPG
 
Wat nu echt de bedoeling is, is mij onduidelijk. Een draaitabel zal wel voldoende zijn. In de module van 'Blad1'

Code:
Private Sub Worksheet_Activate()
  Sheets("INPUT").Columns(1).AdvancedFilter 2, , Cells(1, 12), True
End Sub

Het unieke lijstje komt in kolom L te staan.

Beste VenA,

Een draaitabel of een gewone filterknop zou inderdaad ideaal zijn, maar kan ik helaas niet gebruiken. De data van blad 1 kolom A moet uiteindelijk één kolom zijn zonder filterknoppen omdat ik deze kolom importeer in een ander programma. In dat programma dient deze kolom als filterlijst. Ik werk alleen maar volgens de regels van dat programma en kan daar verder niets aan doen. Ik heb zonet deze code geprobeerd en lijkt fantastisch te werken! Zijn er nog andere mensen die deze code even willen testen, just to be sure? Alvast bedankt VenA!
 
Laatst bewerkt:
Beste VenA,

Kunt u me vertellen hoe ik later de code kan aanpassen zodat ik meerdere kolommen van blad 'INPUT' kan wijzigen op aparte tabbladen? Dus zoals u nu hebt gedaan voor één kolom. Maar dan voor bijvoorbeeld 3 kolommen van 'INPUT' en waarbij elke kolom, waaruit de dubbels moeten verdwijnen, op een apart tabblad staan? Kan ik dit zelf aanpassen of vraagt dit voor een totaal nieuwe code?
Alvast bedankt!
 
De code hoort in de module van blad Input.
 
Als je eens laat zien wat nu eigenlijk de bedoeling is, en dan geen plaatje, dan zal het vast wel kunnen. Waarom moet elk lijstje in een apart blad komen? Plaats een relevant voorbeeldbestand met de namen van de tabjes en wat waar vandaan moet komen en wat waar naar toe moet.

Nb. Het quoten is niet nodig. Schrijf liever in 1 bericht als je op meerdere berichten reageert:
@popipipo, sorry voor mijn niet duidelijke vraagstelling maar is niet geheel wat ik zoek omdat ......

@HSV, sorry voor mijn niet duidelijke vraagstelling maar is niet geheel wat ik zoek omdat ......

@VenA, dit komt in de buurt maar ik heb nog wel een aanvullende vraag: ..........
 
Nu het weer is veranderd voldoet mijn code ook niet meer aan de vraagstelling.

Succes gewenst, ben er wel klaar mee.
 
@VenA, Sorry voor mijn niet duidelijke vraagstelling. Ik had mijn best gedaan om alles zo eenvoudig mogelijk uit te leggen. Alvast bedankt voor het schrijven van de code. Het was ideaal en voldeed helemaal aan mijn initiële vraagstelling.
@HSV, Sorry voor mijn niet duidelijke initiële vraagstelling. Ik zal er in de toekomst beter op letten. Wat de aanvullende vraag betreft, deze was eerder uit nieuwsgierigheid. U bent ook hartelijk bedankt voor uw code.

Aangezien mijn initiële vraagstelling nu beantwoord is, zal ik het hierbij laten. Nogmaals bedankt aan allen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan