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

loting

  • Onderwerp starter Onderwerp starter ppms
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ppms

Gebruiker
Lid geworden
19 aug 2006
Berichten
226
Hallo allemaal,

Ik heb een vraagje, ik ben een mooi programma tegen gekomen op internet lotto trekking (zie bijlage)

Weet iemand of het mogelijk is om een loting te doen met zo soort programma als lotto maar dat ik in een cel kan aangeven om hoeveel getallen het gaat b.v. 88 zodat de getallen van 1 t/m 88 getrokken worden en dan het liefs worden in gevuld in een Excel bestand verrassingstoernooi (zie bijlage) en dan wel op deze volgorde in het bestand in ronde 1 zou het eerste getrokken getal in cel H6 dan tweede getal in G6, C6, B6, H7, G7, C7, B7, H8, G8 enz. enz. Het grootste getal bij een loting is 200 en van VBA heb ik weinig verstand.

Nu doe ik de loting handmatig en dat is best veel werk. Ik hoop dat een beetje duidelijk is wat ik bedoel.
 

Bijlagen

ppms,

Welkom terug :),

Zoals jij het wilt wordt het een stuk lastiger dan het voorbeeld wat je geeft.
Namelijk in dit voorbeeld is wordt het bereik hardcoded ingevoerd (zie invoegen/naam/definieren), in jouw file wil je een stuk meer cellen vullen.

Wil je nadat ronde 1 is ingevuld ronde twee invullen?nu wordt ronde twee overgenomen uit ronde 1:confused:

Zal wel wat meer werk worden dan het meegestuurt voorbeeld aanpassen.


Gret,
Ferenc
 
Leuk je snelle reactie,

Nee de volgende rondes zijn niet belangrijk, het gaat alleen om ronde 1. Is het zoals ik het wil niet mogelijk dan ben ik al heel blij als het in een arpart bestandje mogelijk is voor een loting en kopier ik het wel naar het eigen bestand toe. Belangrijk is dat ik de loting steeds een ander aantal kan geven van 1 t/m ? het hoogste getal is 200.
 
Het is dus niet een random getal, maar het getal mag maar 1 keer voorkomen?

Dit is vrij moeilijk vrees ik.
 
Hallo,

Het getal mag inderdaad maar een keer voorkomen.

groet ppms
 
Deze code is beter (volgens mij: oordeel zelf):

Code:
Sub uniquenumbers()
Dim lngRow As Long, intCol As Integer, maximum As Integer, rng As Range
Application.ScreenUpdating = False
maximum = 200
Set rng = Range("A1")
For lngRow = 6 To 38
    For intCol = 8 To 2 Step -1
        If intCol < 4 Or intCol > 6 Then
            Application.StatusBar = "Verwerken van rij " & lngRow & ", kolom " & intCol
            Cells(lngRow, intCol).ClearContents
            Do
                Cells(lngRow, intCol) = Round(Rnd() * maximum, 0)
            Loop Until rng.Find(Cells(lngRow, intCol), LookIn:=xlValues, lookat:=xlWhole) Is Nothing
            Set rng = Union(rng, Cells(lngRow, intCol))
        End If
    Next
Next
Application.StatusBar = ""
Application.ScreenUpdating = True
End Sub

Geen extra tabblad en een paar efficiënte lussen met FIND opdracht. Ik gebruik de FIND omdat de AANTAL.ALS (COUNTIF) niet werkt op bereiken die niet-aangrenzend zijn.

Application.StatusBar = "Verwerken van rij " & lngRow & ", kolom " & intCol

en

Application.StatusBar = ""

mag je voor mijn part deleten. Op een snelle PC merk je er weinig van als het aanstaat aangezien de lussen efficiënt zijn.

Pas de 200, 6, 38, enz. aan indien gewenst.

Wigi
 
Hallo Luc en Wigi,

Bij wat Luc maakte zouden de getallen als dit mogelijk is onder elkaar moeten staan, dus eerste rij vol in ronde 1 dan tweede rij vol enz. Ik probeerde dit te veranderen maar kwam er niet uit met de VBA.

Bij Wigi zijn opzet lukt het beter en heb daar wel het een en andere kunnen aanpassen na hele tijd pluzelen hoe dat moest in VBA. Het wissen heb ik eerst opgenomen met een macro maken en er toen boven geplakt en zowaar het werkte. Ook heb ik enkele cellen verwezen naar de macro en ook dat lukte en de rest zal voor jullie gesneden koek zijn wat ik heb gedaan maar voor mezelf vind ik het best knap dat dit me zover is gelukt.

Als nu nog de mogelijkheid bestaat dat de NUL niet voor komt in de trekking is het super. Dan kan ik het zelf wel verwerken in het programma. Heb ook nog wat uitleg in het bestandje gedaan.

Verder is het fijn dat jullie je kennis willen gebruiken om me te helpen en knap wat jullie allemaal kunnen met VBA. Jullie bijvoorbaat alvast bedankt voor de genomen moeite.

Groet PPMS
 

Bijlagen

PPMS

zie bijlage voor de gevraagde aanpassingen.

Ook werd jouw code efficiënter geschreven en werden een aantal formules ingebouwd waar eerst manuele berekeningen stonden. Je zal het wel zien.

Wigi
 

Bijlagen

En weer een voor bij mijn snippets :).
Netjes Wigi:thumb:

Ben weer met beide benen terug op aarde, lol.
Had deze code zelf niet kunnen verzinnen (nog niet).

Bedankt,
Ferenc
 
Had deze code zelf niet kunnen verzinnen (nog niet).

Dat is er dan ook niet velen gegeven, hé. :cool: Nee grapje.

Gewoon blijven oefenen, de code analyseren, hier en daar wat veranderen en zien wat er gebeurt, ... En je komt er ook, gegarandeerd.

Wigi
 
Hallo,

Iedereen heel erg bedank ik ben er heel blij mee. Heb ik nog vragen over Excel dan stel ik deze weer graag aan het forum.

Groet PPMS
 
Hallo,

Wigi heel mooi gemaakt en zie dat ik nog een hoop kan leren zo ook met de formule in cel G2. Alles in de VBA ga ik nog eens op me gemak bekijken maar moet nu naar de fysio toe.

Groet PPMS
 
OK. Ik lees het wel als er nog iets is. Al denk ik van niet.

Wigi
 
Wigi,

Gisteren nog een tijdje mee de loting bezig geweest maar het werkt perfect :thumb: .

Het VBA is toch nog best moeilijk maar ik blijf ermee bezig. Een nadeel is dat ik in Engels erg slecht ben heb dit ook nooit op school gehad dat was toen ik nog een jochie was niet een vak op de scholen. Het werken met Excel blijft me interesse houden en met zo forum leer je steeds weer dingen bij.

Iedereen bedankt en heb ik weer eens een vraag dan zien jullie mij echt weer terug op het forum.

Hoe sluit ik nu de vraag af kan dat niet vinden.

Groet PPMS
 
Wigi,

Gisteren nog een tijdje mee de loting bezig geweest maar het werkt perfect :thumb: .

Het VBA is toch nog best moeilijk maar ik blijf ermee bezig. Een nadeel is dat ik in Engels erg slecht ben heb dit ook nooit op school gehad dat was toen ik nog een jochie was niet een vak op de scholen. Het werken met Excel blijft me interesse houden en met zo forum leer je steeds weer dingen bij.

Iedereen bedankt en heb ik weer eens een vraag dan zien jullie mij echt weer terug op het forum.

Hoe sluit ik nu de vraag af kan dat niet vinden.

Groet PPMS

Onderaan kan je de vraag op opgelost zetten.

Veel succes met de tocht door VBA-land!

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan