Johdanto VBA-satunnaislukuun

Excelissä meillä on RAND-niminen toiminto, jota käytetään satunnaislukujen tuottamiseen. Joten koska VBA: lla on RND- toiminto, jota käytetään satunnaislukujen tuottamiseen. RND-funktio generoi luvut, jotka ovat suurempia kuin 0, mutta pienemmät kuin 1.

Satunnaisluvun syntaksi Excel VBA: ssa

Random Number -toiminnon excel VBA: n syntaksi on seuraava:

Voimme nähdä yllä olevassa RND-funktion syntaksissa, että tuloon voidaan käyttää vain yhtä numeroa.

Annamme tulon RND-funktioon alle 3 tapaa;

  1. Jos annamme luvun <0, niin se generoi saman numeron joka kerta, kun suoritamme koodia.
  2. Jos annamme numeron 0, niin se näyttää viimeisimmän luodun numeron.
  3. Jos annamme luvun> 0, niin se tuottaa jatkuvasti erilaisia ​​satunnaislukuja. Mutta se on peräkkäin.

Kuinka käyttää Excel-satunnaislukutoimintoa?

Katsotaan esimerkkejä satunnaislukuista Excel VBA: ssa.

Voit ladata tämän VBA Random Number Excel -mallin täältä - VBA Random Number Excel Template

Esimerkki 1 - VBA-satunnaisluku

Vaihe 1: Tätä voidaan soveltaa suoraan VBA: han. Siirry tätä varten VBA-ikkunaan ja avaa moduuli Lisää-valikosta alla olevan kuvan mukaisesti.

Vaihe 2: Kun teemme sen, saamme moduulin ikkunan VBA: ssa. Kirjoita kyseiseen moduuliin VBA-satunnaisnumeron alaluokka samaan nimeen tai mihin tahansa nimeen valitsemasi nimen mukaan.

Koodi:

 Sub RandomNumber () Loppu Sub 

Vaihe 3: Valitse nyt sana tai aakkoset ja määrittele se muuttujana ja määritä sille kaksinkertainen arvo . Tarkastellaan muuttujaa Dim A ja annamme sen Double: lle . Kaksinkertaisen valitseminen kokonaisluvun sijasta on hyödyllistä, koska näemme desimaaliarvot, jotka ovat välillä 0 - 1.

Koodi:

 Sub RandomNumber () himmentää A: n kaksoispäätä 

Vaihe 4: Seuraavaksi käytämme muuttujaa A, jonka määrittelimme yllä, ja annamme sille funktion Rnd satunnaislukujen tuottamiseksi, kuten alla on esitetty.

Koodi:

 Sub RandomNumber () Himmennä A Kuten kaksinkertainen A = Rnd (End Sub 

Vaihe 5: Kuten yllä olevassa kuvakaappauksessa voidaan nähdä, RND- toiminnolla on syntaksi numero ja se on yksinumeroinen numero. Täällä nähdään, kuinka alle 0-luvun antaminen tuottaa mitä? Joten RND-toiminnon hakasulkeissa lisäys -1, joka on viimeisin numero alle 0.

Koodi:

 Sub RandomNumber () himmentää A kuin kaksinkertainen A = Rnd (-1) End Sub 

Vaihe 6: Viimeinkin saadaksesi tulosteen tarvitsemme solun viittauksen tai viestiruudun, jossa se heijastaa satunnaislukua. Lisää viestiruudun Msgbox-komento ja määritä määritetty muuttuja tähän.

Koodi:

 Sub RandomNumber () Dim A Kuten Tupla A = Rnd (-1) MsgBox A Loppu Sub 

Vaihe 7: Nyt voimme koota koodin ja suorittaa sen napsauttamalla valikkopalkin alla olevaa toistopainiketta. Näemme ensimmäisen luodun satunnaisluvun, joka on pienempi kuin 0, joka on 0.2240070104599, kuten alla on esitetty.

Jos ajamme koodin uudelleen, se tuottaa saman koodin uudestaan ​​ja uudestaan.

Esimerkki 2 - VBA-satunnaisluku

Olemme nähneet kuinka luoda satunnaislukuja, jotka ovat pienempiä kuin 0. On toinen tapa saada satunnaislukuja. Tässä esimerkissä generoimme satunnaisluvun antamalla 0 syötteenä RND- toiminnolle.

Tätä varten käytämme samaa koodia, jota käytettiin esimerkissä-1.

Vaihe 1: Nyt -1 : n sijasta, joka on RND-toiminnon hakasulkeiden välissä, aseta 0.

Koodi:

 Sub RandomNumber () Dim A Kuten Tupla A = Rnd (0) MsgBox A End Sub 

Vaihe 2: Voimme kääntää koodin tarvittaessa tai suorittaa muuten suoraan painamalla F5-näppäintä (Pikanäppäin) koodin suorittamiseksi. Voimme nähdä, että RND-funktio on tuottanut saman numeron, joka syntyi, kun annimme syötteen alle 0. Mikä tarkoittaa, että jos annamme 0 syötetyn RND-funktion, se tuottaa aiemmin generoidun luvun.

Ja jos ajamme koodin uudelleen, se antaa saman satunnaisluvun.

Esimerkki 3 - VBA-satunnaisluku

Tässä esimerkissä näemme, mitä tapahtuu, jos annamme arvon, joka on suurempi kuin 0. Voimme halutessasi kirjoittaa uuden koodin tai tehdä muutoksia yllä olevaan koodiin. Tarkastellaan koodia, jonka olemme nähneet yllä.

Vaihe 1: Koska meidän on testattava luku, joka on suurempi kuin 0, käytä RND-toiminnossa tyhjää ja lisää +1 arvoille, jotka ovat suurempia kuin 1, kuten alla.

Koodi:

 Sub RandomNumber () Dim A Kuten kaksinkertainen A = 1 + Rnd () MsgBox A End Sub 

Vaihe 2: Käännä koodi, jos haluat, ja suorita sitten koodi. Näemme, että luotu satunnaisluku on erilainen kuin aikaisemmin luotu luku. Alla on kuvakaappaus, joka osoittaa, että satunnaisluku on murto-osassa 1.035… .41 . Mikä on suurempi kuin 0.

Jos ajamme saman koodin uudelleen, saamme jatkuvasti erilaisia ​​satunnaislukuja. Joten saimme heti koodin suorittamisen jälkeen. Tällä kertaa saammemme satunnaisluvut ovat kaksinkertainen murtoarvo verrattuna aikaisemmin luotuun satunnaislukuun.

Hyödyllisiä VBA-satunnaislukuja

  1. Vaikuttaa vaikealta, mutta sitä on helppo soveltaa.
  2. Tämä on erittäin hyödyllistä, kun pyrimme luomaan lipunumeroita satunnaisesti.
  3. Esimerkissä 3 esitetty prosessi voidaan toteuttaa monella eri tavalla.

Muistettavat asiat

  • Tämä voidaan toteuttaa MS Excel -toiminnolla myös toiminnon nimellä RAND.
  • Me testaamme esimerkin-2 ensin, ennen kuin suoritamme esimerkin-2 koodin. Koska se todella näyttää, mikä oli aikaisemmin luotu numero.
  • RND-toiminnon testaaminen pitämällä hakaset tyhjinä antaa meille myös satunnaisluvun.
  • Jos määritämme muuttujan kokonaislukuna, niin saamme vain kokonaislukuja, jotka ovat samat kuin jos 0 tai 1.
  • Jos käytämme kaksinumeroisia numeroita syötteenä RND-toiminnossa, niin se myös tuottaa satunnaisluvun.

Suositellut artikkelit

Tämä on opas VBA-satunnaislukuun. Tässä keskustellaan siitä, kuinka luoda satunnaisluku VBA Excelissä käyttämällä RND Function -toimintoa, sekä käytännön esimerkkejä ja ladattavaa Excel-mallia. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. VBA InStr selitti esimerkeillä
  2. VBA-kokonaisluvutietotyyppi
  3. Kuinka valita solu VBA-koodilla?
  4. Siirrä alue VBA: han

Luokka: