VBA Randomize - Hvordan bruke Randomize Statement?

Innholdsfortegnelse

Randomize Statement i VBA

VBA Randomize- setning er en enkel uttalelse som vi legger til før vi bruker RND-funksjonen. Hver gang en arbeidsbok åpnes på nytt, gir Randomize-setningen et nytt frønummer til RND-funksjonen avhengig av datamaskinens systemtid.

Før jeg snakker om utsagnet Randomize, la meg introdusere deg for en enkel RND-funksjon med VBA.

Som en regnearkfunksjon "RAND" i VBA vil også "RND" generere tilfeldige tall som er større enn 0, men mindre enn 1.

Ta en titt på syntaksen til “RND” -funksjonen.

(Nummer): Vi kan formidle argumentet på tre måter.

  • Hvis vi passerer tallet som <0, fortsetter det å generere det samme tilfeldige tallet hver gang.
  • Hvis vi passerer tallet som 0, vil det gjenta det siste tallet det har gitt.
  • Hvis vi passerer tallet> 0, fortsetter det å gi deg forskjellige tilfeldige tall, dvs. neste tilfeldige tall i sekvensen.

Eksempel

Se for eksempel på koden nedenfor.

Kode:

Sub RND_Example () Feilsøking. Skriv ut Rnd End Sub

Når jeg kjører koden i vinduet Umiddelbart, kan jeg se nummeret nedenfor.

På samme måte, når jeg utfører denne koden tre ganger til, kan jeg se tallene nedenfor.

Nå vil jeg lukke arbeidsboken og åpne den på nytt.

Nå vil jeg gå tilbake til det visuelle grunnleggende redigeringsvinduet.

Nå er det umiddelbare vinduet tomt og rent.

Nå igjen, vil jeg utføre koden fire ganger og se hva er tallene vi får i det umiddelbare vinduet.

Vi fikk de samme tallene som vi fikk over.

Dette ser ikke ut som et tilfeldig tall, for hver gang vi åpner filen på nytt, har vi en tendens til å få de samme tallene fra bunnen av.

Så hvordan genererer vi tilfeldige tall, uavhengig av om arbeidsboken åpnes på nytt eller ikke?

Vi må bruke uttalelsen "Randomize".

Hvordan bruke VBA Randomize Statement?

Eksempel 1

For å få tilfeldige tall, er alt vi trenger å gjøre å legge til den enkle one-liner "Randomize" før RND-funksjonen.

Kode:

Sub Randomize_1 () Randomize Debug.Print Rnd End Sub

Nå skal jeg kjøre koden 4 ganger og se hva jeg får.

Det har generert tallene ovenfor i mitt lokale vindu.

Nå lukker jeg filen og åpner filen igjen.

Som vanlig starter vi med en ren skifer i det visuelle grunnleggende vinduet.

Nå skal jeg igjen utføre koden og se hvilke tall vi får denne gangen.

Wow !!! Vi fikk forskjellige tall denne gangen.

Siden vi la til setningen Randomize før RND-funksjonen, får vi forskjellige tilfeldige tall hver gang vi åpner filen på nytt.

Dette ser ut som et tilfeldig tall, er det ikke ???

Eksempel 2

Tilfeldige tall som er større enn ett

Som vi har sett, kan “RND” -funksjonen bare generere tall fra 0 til 1. Men for å generere tall som er større enn ett tilfeldig tall, må vi bruke "RANDOM MELLOM", som er tilgjengelig med regnearkfunksjonsklasse.

Så for å generere tilfeldige tall som er større enn ett, må vi bruke koden nedenfor.

Kode:

Sub Randomize_2 () Randomize Debug.Print Rnd * 100 End Sub

Nå skal jeg utføre koden og se hva vi får.

Slik kan vi bruke utsagnet "Randomize" i VBA for å generere tilfeldige tall hver gang vi åpner Excel-filen på nytt.

Interessante artikler...