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

Random selecteren van rijen in excel

Status
Niet open voor verdere reacties.

HarryBee

Gebruiker
Lid geworden
8 jul 2008
Berichten
240
Beste experts,

Ik zit met een punt dat ik door een druk op een knop uit een werkblad (lees hoofdblad) met persoonlijke gegevens, steeds 5 willekeurige namen wilt selecteren. Vervolgens moeten deze naar een leeg werkblad verplaatst worden. De verplaatste rijen moeten dan uit het hoofdblad verwijderd worden en de lege rijen die dan ontstaan ook worden verwijderd. Weet iemand een oplossing? Mijn dank is groot.

Groet Harry
 
Je kunt een kolom toevoegen waarin je een random nummer genereert, en met de functie RANG() daar een volgordenummer aan hangen. Vervolgens gebruik je Vert.Zoeken om de nummers 1/tm op te zoeken.
In cel B2:=GEHEEL(ASELECT()*10000)+1
In cel A2:=RANG(B2;$B$2:$B$76;1)
In cel E2:=VERT.ZOEKEN(1;$A$1:$C$75;3;ONWAAR)
In cel E3:=VERT.ZOEKEN(2;$A$1:$C$75;3;ONWAAR)
In cel E4:=VERT.ZOEKEN(3;$A$1:$C$75;3;ONWAAR)
etc.
 
Laatst bewerkt:
Voor het verwijderen van rijen zijn zat voorbeeldjes te vinden in dit forum; kwestie van de rij opzoeken van de Rang waarde. Wel van onderen naar boven verwijderen, en eerst de 5 rijen uitlezen, omdat bij elke bewerking de formules opnieuw worden gegenereerd, en dus ook de rangorde verandert.
 
Michel,
Dank je wel voor de snelle reactie. Dit werkt opzich wel, maar hoe kan ik de gevonden rijen verplaatsen en verwijderen? Hier kom ik dus niet uit.
Bestaat er geen VBA code die dit proces automatiseerd?

Groet Harry
 
Zoals ik al zei: in dit forum zijn verschillende codevoorbeelden voor het verwijderen van rijen. Nadeel van functies zoals ik ze hier heb aangegeven is dat de berekeningen continue bij elke wijziging worden herberekend, dus je zult de pagina handmatig moeten berekenen. Dan blijven de gegevens staan als je ze eenmaal hebt ververst met <F9>. Je kunt natuurlijk ook alles in VBA doen; dan moet je de berekeningen in VBA laten doen, en de waarden wegschrijven met een lus in de cellen. Dan staan ze er hard in, en kun je naar hartelust verwijderen.
 
Michel,

Ik ben toch geholpen met jouw idee. Dit heeft me aan het denken gezet en ik heb de functie ASELECT() gebruikt in kolom A en VERT.ZOEKEN(GROOTSTE(A1:A200;1);$A$1:$B$200;2;ONWAAR) Hierdoor komen de 5 geselecteerde namen steeds bovenaan te staan. Selecteren en verplaatsen wordt dan eenvoudig. Nogmaals dank voor je tijd.

Groet Harry
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan