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

Uniek random nummeren op basis van invoerlijst

Status
Niet open voor verdere reacties.

Efsix

Gebruiker
Lid geworden
14 jan 2007
Berichten
181
Beste Excellers.

Ik ben op zoek geweest naar een manier om een lijst unieke nummers te genereren. Helaas heb ik nog geen bruikbare manier gevonden.
De methode aselect is niet handig, omdat deze dubbelingen genereert.

Kan iemand me helpen aan een VBA welke dat op commando doet voor me?

Hopelijk is de bijlage duidelijk genoeg.

groeten, Romé
 

Bijlagen

  • uniek getal op basis van aantal.xls
    32 KB · Weergaven: 177
Misschien lukt het met =RANG.
 

Bijlagen

  • aap noot mies.xls
    32,5 KB · Weergaven: 312
HSV, briljant!

En ik maar rommelen met VBA...

Code:
Sub UniekeNummers()
Dim iMax As Integer, iNum As Integer, iRow As Integer

ActiveSheet.Range("C4", ActiveSheet.Range("C" & ActiveSheet.Rows.Count).End(xlUp)).Clear
'eventueel bestaande unieke nummers eerst verwijderen, om te voorkomen dat je in een
'eindeloze loop terechtkomt.

iMax = Application.WorksheetFunction.Max(ActiveSheet.Range("A:A"))
'aantal benodigde unieke nummers vaststellen

iNum = Int((Rnd * iMax) + 1)
'eerste unieke nummer genereren
For iRow = 1 To iMax
    
    Do While Application.WorksheetFunction.CountIf(ActiveSheet.Range("C:C"), iNum) > 0
        iNum = Int((Rnd * iMax) + 1)
    Loop
    'blijft uniek nummer verzinnen totdat het gevonden nummer nog niet voorkomt in kolom C
    ActiveSheet.Range("C3").Offset(iRow, 0) = iNum
Next iRow

End Sub
 
Misschien lukt het met =RANG.
HVS dank je wel voor het mee denken. De oplossing is knap gevonden.
Toch kan ik deze niet gebruiken omdat bij elke celwisseling een nieuwe volgorde wordt gemaakt terwijl ik het alleen op 'commando' wil laten gebeuren.

De oplossing van Marcel97 komt precies overeen met mijn bedoeling. Op commando een ranorde genereren.
Mijn knutsel tot zover voeg ik bij. wellicht is dan duidelijker waar ik het voor wil gebruiken.

Nogmaals hartelijk dank voor het mee denken

groeten, Romé
 

Bijlagen

  • uniek getal op basis van aantal.xls
    35,5 KB · Weergaven: 188
Laatst bewerkt:
met een formule in het werkblad kan het met:

=ALS( D4="";"";VERT.ZOEKEN(KLEINSTE($C$4:$C$20;RIJ()-3);$C$4:$D$20;2;ONWAAR))

Schakel wel eerst automatisch herberekenen uit.
 
Het antwoord stond hier al voor je klaar.
:eek:Had ik dus zelf kunnen vinden met de juiste zoekactie. Ik vrees dat mijn vrouw gelijk krijgt . . . dat mannen niet kúnnen zoeken ;)
In ieder geval ben ik 'uit de brand' dus ik ben toch blij.

groeten, Romé
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan