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

Lees ik mijn VBA code juist?

Status
Niet open voor verdere reacties.

Evelyne78

Gebruiker
Lid geworden
14 apr 2007
Berichten
11
Besten,

Ik heb volgende code om de lussen beter te leren begrijpen.
Nu zou ik graag weten of ik de code wel juist lees.


Code:
Public Sub Tientallen()
Dim getal As Integer, i As Integer

 For i = 1 To 10
            
Do
    getal = Application.WorksheetFunction.Round(Rnd() * 500, 0) + 500
                Loop Until Range("A1:A" & i).Find(getal) Is Nothing
                Range("A" & i) = getal
Next i
            
End Sub

Ik lees het volgende:

Dim getal als geheel getal, i als geheel getal

Dan heb je de teller die van 1 tot 10 telt

getal= hij maakt met de functie aselect + 500 een willekeurig getal tussen 500 en 1000

en dit moet hij doen zolang in de range A1 tot A10 dit getal geen tweede keer voorkomt.

Range("A" & i) = getal wil zeggen dat in de cel A1 of A2 naargelang waar de teller zich bevind op dat ogenblik, moet opgevuld worden met de waarde die zojuist berekend werd.

Next i = ga naar de volgende lus

Lees ik dit juist, want als ik het mis interpreteer ga ik dat later ook blijven doen.

Wie verbetert mij dictee?

Groetjes, Evelyne :o
 
Klopt.

10 willekeurige getallen tussen 500 en 1000, die elk maximaal 1 keer voorkomen.

Wigi
 
Dit kan nog beter:

Code:
getal = Application.WorksheetFunction.Round(Rnd() * 500, 0) + 500

Code:
getal = Round(Rnd() * 500, 0) + 500

Round is ingebouwd in VBA, daar heb je de AFRONDEN functie van het werkblad niet voor nodig.

Wigi
 
aaah zo, dit wist ik niet.

Bedankt voor het nalezen, dan ben ik tenmiste zeker dat ik het juist interpreteer.

Bedankt Wigi.

Groeten, Evelyne
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan