Introduksjon til VBA Random Number

I Excel har vi en funksjon som heter RAND som brukes til å generere tilfeldige tall. Så som vi har RND- funksjon i VBA som brukes til å generere tilfeldige tall. RND-funksjonen genererer tall som er større enn 0 men mindre enn 1.

Syntaks for tilfeldig nummer i Excel VBA

Syntaksen for Random Number-funksjonen utmerker VBA er som følger:

Vi kan se i syntaksen til RND-funksjonen ovenfor, vi kan bare bruke et enkelt tall som inndata.

Vi gir innspill i RND-funksjon på under 3 måter;

  1. Hvis vi gir nummer <0, vil det generere det samme tallet hver gang vi kjører koden.
  2. Hvis vi gir et tall som 0, vil det dukke opp det siste tallet som ble generert.
  3. Hvis vi gir nummer> 0, vil det fortsette å generere forskjellige tilfeldige tall. Men det vil være i rekkefølge.

Hvordan bruker jeg tilfeldig nummerfunksjon i Excel?

La oss se eksemplene på tilfeldig nummer i Excel VBA.

Du kan laste ned denne VBA Random Number Excel Template her - VBA Random Number Excel Template

Eksempel 1 - VBA tilfeldig nummer

Trinn 1: Dette kan vi direkte bruke til VBA. For dette går du til VBA-vinduet og åpner en modul fra Sett inn-menyen som vist nedenfor.

Trinn 2: Når vi først har gjort det, får vi et vindu med Module i VBA. I den modulen, skriv underkategorien til VBA Random Number med samme navn eller i hvilket som helst navn som du valgte.

Kode:

 Sub RandomNumber () Slutt Sub 

Trinn 3: Velg nå et ord eller et alfabet og definer det som en variabel og tildeler det dobbelte til det. Her vurderer vi variabel Dim A og gir den til Double . Å velge dobbelt i stedet for heltall vil være nyttig fordi vi vil se desimalverdier som er mellom 0 og 1.

Kode:

 Sub RandomNumber () Dim A As Double End Sub 

Trinn 4: Nå vil vi bruke variabel A som vi definerte ovenfor, og vi vil tildele den en funksjon Rnd for å generere tilfeldige tall som vist nedenfor.

Kode:

 Sub RandomNumber () Dim A As Double A = Rnd (End Sub 

Trinn 5: Som vi kan se på skjermbildet ovenfor, har RND- funksjonen syntaks som nummeret, og det vil være et ensifret tall. Her vil vi se hvordan å gi et tall mindre enn 0 vil generere hva? Så i parentes av RND-funksjonen sett inn -1 som er det siste tallet mindre enn 0.

Kode:

 Sub RandomNumber () Dim A As Double A = Rnd (-1) End Sub 

Trinn 6: Til slutt for å få utdata trenger vi referanse til celle eller en meldingsboks der den vil gjenspeile det tilfeldige tallet. Sett inn Msgbox-kommandoen for meldingsboksen og tilordn den definerte variabelen her.

Kode:

 Sub RandomNumber () Dim A As Double A = Rnd (-1) MsgBox A End Sub 

Trinn 7: Nå kan vi sammenstille koden og kjøre den ved å klikke på avspillingsknappen under menylinjen. Vi vil se det første tilfeldige tallet som er generert som er mindre enn 0 som er 0.2240070104599 som vist nedenfor.

Hvis vi igjen kjører koden, fortsetter den å generere den samme koden igjen og igjen.

Eksempel # 2 - VBA tilfeldig nummer

Vi har sett hvordan vi kan generere tilfeldige tall som er mindre enn 0. Det er en annen måte å få tilfeldige tall på. I dette eksemplet vil vi generere det tilfeldige tallet ved å gi 0 som inngang til RND- funksjonen.

For dette vil vi bruke den samme koden som ble brukt i eksempel 1.

Trinn 1: Nå i stedet for -1 som er mellom parentesene til RND Funksjon sett 0.

Kode:

 Sub RandomNumber () Dim A As Double A = Rnd (0) MsgBox A End Sub 

Trinn 2: Vi kan sammenstille koden, om nødvendig eller ellers kjøre direkte ved å trykke på F5-tasten (snarveistast) for å kjøre koden. Vi kan se at RND-funksjonen har generert det samme tallet som ble generert da vi ga innspill mindre enn 0. Hvilket betyr at hvis vi gir 0 som en inngangs-RND-funksjon, vil den generere det tidligere genererte tallet.

Og hvis vi kjører koden igjen, vil den fortsette å gi det samme tilfeldige tallet.

Eksempel # 3 - VBA tilfeldig nummer

I dette eksemplet vil vi se hva som vil skje hvis vi gir en verdi større enn 0. Vi kan velge å skrive ny kode, eller vi kan gjøre endringene i koden som vi har skrevet over. La oss vurdere koden som vi har sett over.

Trinn 1: Som vi trenger å teste antall større enn 0, så i RND-funksjonen bruker du tomt og legger til +1 for verdier større enn 1 som vist nedenfor.

Kode:

 Sub RandomNumber () Dim A As Double A = 1 + Rnd () MsgBox A End Sub 

Trinn 2: Sett sammen koden hvis du vil, og kjør deretter koden. Vi vil se at tilfeldig antall generert er annerledes enn antallet som ble generert tidligere. Nedenfor er skjermdumpen, som viser at det tilfeldige tallet er i brøkdelen av 1.035… .41 . Som er større enn 0.

Hvis vi kjører den samme koden igjen, vil vi fortsette å få forskjellige tilfeldige tall. Så vi fikk rett etter å ha kjørt koden igjen. Denne gangen er de tilfeldige tallene som vi har den dobbelte bruddverdien sammenlignet med det tilfeldige tallet som ble generert tidligere.

Fordeler med VBA tilfeldig nummer

  1. Det virker vanskelig, men det er enkelt å bruke.
  2. Dette er ganske nyttig når vi jobber med å generere billettnumre på måfå.
  3. Prosessen vist i eksempel 3 kan implementeres på mange forskjellige måter.

Ting å huske

  • Dette kan implementeres i MS Excel-funksjonen også med funksjonsnavnet RAND.
  • Vi testeksempelet-2 først før vi kjører kodeeksempel-2. Fordi det faktisk vil vise hva som var antallet som ble generert tidligere.
  • Testing av RND-funksjonen ved å holde parentesene tomme vil også gi oss et tilfeldig tall.
  • Hvis vi tildeler variabelen som heltall, får vi bare hele tall som vil være de samme som om 0 eller 1.
  • Hvis vi bruker tosifrede tall som inndata i RND-funksjon, vil det også generere det tilfeldige tallet.

Anbefalte artikler

Dette er en guide til VBA Random Number. Her diskuterer vi hvordan du genererer tilfeldig nummer i VBA Excel ved bruk av RND-funksjon sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. VBA InStr forklarte med eksempler
  2. VBA Integer Datatype
  3. Hvordan velge celle ved å bruke VBA-kode?
  4. Transponere et område i VBA

Kategori: