Vinnie82, Hetgeen jij nu gemaakt hebt, geeft niet het aantal
combinaties maar het aantal
permutaties. Een combinatie is (in dit geval) een unieke getallenreeks in oplopende volgorde. Een permutatie is een getallenreeks in elke willekeurige volgorde. Dus als je de tabel begint met 1, 2, 3, 4, 5, 6 ben je voor wat betreft de combinaties klaar met deze getallenreeks. Bij permutatie ga je dit ook weer husselen. Dus 2, 1, 3, 4, 5, 6 is dan ook geldig.
Jouw code laat dus alle permutaties zien van de getallen van 1 t/m 42 met een stringlengte van 6.
Probeer de functies Combin (Combinaties) en Permut (Permutaties) maar eens. Dan zie je dat er bij 42 getallen en een lengte van 6 bij combinaties 5.245.786 mogelijkheden zijn en met dezelfde criteria bij permutaties 3.776.965.920 mogelijkheden.
Ik heb je code 2 kolommen laten draaien en haalde er als voorbeeld deze string uit: 1 2 3 39 26 4 (cel B25). Dezelfde getallen kom je ook tegen in cel A811 (dan als: 1 2 3 4 26 39). De 2e uit cel B25 is dus overbodig voor deze toepassing (Lotto).
Let ook op het declareren van je variabelen. Dim A, B, C as Integer is iets anders als Dim A as integer, B as integer, C as integer. In het 1e voorbeeld worden de variabelen A en B gedeclareerd als Variant. Ook je variabele 'x' die staat voor het rijnummer, moet je anders declareren. Een integer kan namelijk niet groter worden dan 32.767 en bij jou moet íe groeien tot 50.000. Declareer een rijnummer dus altijd als Long.
Hou me ten goede. Dit meld ik absoluut niet om je code af te kraken (mocht je dat gevoel misschien krijgen na het lezen van bovenstaand stuk...
), maar puur als 'ik denk met je mee'!
Groet, Leo
P.s. Kijk toch echt ff naar die linkjes die ik in een eerder antwoord had gegeven. Is héél leerzaam om te zien wat anderen al hebben uitgevogeld. :thumb: