Willekeurige getallen kiezen

Status
Niet open voor verdere reacties.

Amon-Ra

Gebruiker
Lid geworden
20 jan 2003
Berichten
72
Beste,

Na wat studeerwerk heb ik onderstaande code in elkaar geknutseld. Hoewel ze waarschijnlijk voor verbetering vatbaar is doet ze redelijk goed wat ze moet doen. Er is echter 1 probleempje. Zolang ik 9 getallen trek uit een bereik van 1 tot 12 is er geen probleem. 9 Uit 9 lukt zelfs ook. Ik moet echter 12 maal een uniek getal van 1 tot 12 trekken. Als ik de 9 in de For-regel door 12 vervang loopt Excel altijd vast. Opvallend is dat de 1 dan niet meer getrokken wordt. Kan iemand mij zeggen waarom dit zo is? Alvast bedankt!

Code:
Sub taakverdeling()

Dim i As Integer, KolomTeller As Integer

Range("A2:AD2").ClearContents

For i = 1 To 9

Do
toeval = Int(12 * Rnd + 1)
Loop Until Range("A2:AD2").Find(toeval) Is Nothing

If toeval Mod 2 = 0 Then
Do
Do
KolomTeller = Int(30 * Rnd + 1)
Loop Until KolomTeller Mod 2 = 0
Loop Until Cells("2", KolomTeller) = ""
Cells("2", KolomTeller) = toeval
Else
Do
Do
KolomTeller = Int(30 * Rnd + 1)
Loop Until KolomTeller Mod 2 <> 0
Loop Until Cells("2", KolomTeller) = ""
Cells("2", KolomTeller) = toeval
End If

Next i

End Sub
 
Ik heb ook ooit jaren geleden zoiets meegemaakt, t/m 9 ging het goed. Dat had iets te maken met het aantal variabelen (10). Daarboven moest je dan zetten zoiets als 'dim i as integer(x)', met x als aantal gewenste variabelen. Maar ik weet dat niet meer precies, dus moet je dat maar uitproberen.
 
Ik heb het zo eens geprobeerd, maar dat lukt niet echt. Het goede nieuws is wel dat ik het heb opgelost door het anders te laten verlopen. Eerst werd een willekeurig cijfer tussen 1 en 12 (of een ander cijfer groter dan 9) gekozen, maar dat kan ook gewoon opeenvolgend. Dus eerst de 1 in een kolom plaatsen, dan de 2 en zo verder.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan