VBA Satunnaista | Kuinka käyttää Randomize Statement -ohjelmaa?

Satunnaista lause VBA: ssa

VBA Randomize -lauseke on yksinkertainen yhden linjan lause, jonka lisäämme ennen RND-toiminnon soveltamista. Aina kun työkirja avataan uudelleen, Randomize-käsky antaa uuden siemennumeron RND-toiminnolle tietokoneen järjestelmäajasta riippuen.

Ennen kuin puhun Randomize-lauseesta, haluan esitellä sinulle yksinkertaisen RND-toiminnon VBA: n kanssa.

Taulukon funktiona "RAND" myös VBA: ssa "RND" tuottaa satunnaislukuja, jotka ovat suurempia kuin 0, mutta alle 1.

Katsokaa nyt ”RND” -toiminnon syntaksia.

[Luku]: Voimme välittää argumentin kolmella tavalla.

  • Jos välitämme luvun <0, se tuottaa jatkuvasti saman satunnaisluvun joka kerta.
  • Jos välitämme numeron 0, se toistaa viimeisimmän antamansa numeron.
  • Jos välitämme luvun> 0, se antaa sinulle jatkuvasti erilaisia ​​satunnaislukuja, eli sarjan seuraavan satunnaisluvun.

Esimerkki

Katso esimerkki alla olevasta koodista.

Koodi:

 Sub RND_Example () Debug.Print Rnd End Sub 

Kun suoritan koodin välittömässä ikkunassa, näen alla olevan numeron.

Vastaavasti, kun suoritan tämän koodin vielä 3 kertaa, näen alla olevat numerot.

Suljen nyt työkirjan ja avaan sen uudelleen.

Nyt palaan Visual Basic Editor -ikkunaan.

Nyt välitön ikkuna on tyhjä ja puhdas.

Suoritan koodin jälleen kerran neljä kertaa ja näen numerot, jotka saamme välittömässä ikkunassa.

Saimme samat numerot kuin edellä.

Tämä ei näytä satunnaisluvulta, koska joka kerta kun avaamme tiedoston uudelleen, saamme samat numerot alusta alkaen.

Joten miten luomme satunnaislukuja riippumatta siitä, avataanko työkirja uudelleen vai ei?

Meidän on käytettävä Randomize-lausetta.

Kuinka käyttää VBA-satunnaislauseketta?

Voit ladata tämän VBA Randomize Excel -mallin täältä - VBA Randomize Excel -malli

Esimerkki 1

Satunnaislukujen saamiseksi meidän on lisättävä yksinkertainen yksirivinen ”Randomize” ennen RND-toimintoa.

Koodi:

 Sub Randomize_1 () Satunnaistaa Debug.Print Rnd End Sub 

Nyt aion suorittaa koodin neljä kertaa ja nähdä, mitä saan.

Se on luonut yllä olevat numerot paikalliseen ikkunaani.

Suljen nyt tiedoston ja avaan tiedoston uudelleen.

Kuten tavallista, aloitamme puhtaalla pöydällä Visual Basic -ikkunassa.

Suoritan nyt koodin uudelleen ja näen mitä numeroita saamme tällä kertaa.

Vau!!! Saimme tällä kertaa eri numerot.

Koska olemme lisänneet lauseen Randomize ennen RND-funktiota, saamme erilaisia ​​satunnaislukuja aina, kun avaat tiedoston uudelleen.

Tämä näyttää satunnaisluvulta, eikö olekin ???

Esimerkki 2

Satunnaisluvut suuremmat kuin yksi

Kuten olemme nähneet, “RND” -toiminto voi tuottaa numeroita vain 0: sta 1: een. Mutta yli yhden satunnaisluvun muodostamiseksi tarvitaan "RANDOM BETWEEN", joka on saatavana laskentataulukon funktioluokan kanssa.

Joten suuremman kuin yhden satunnaisluvun luomiseksi meidän on käytettävä alla olevaa koodia.

Koodi:

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

Suoritan nyt koodin ja näen mitä saamme.

Tällä tavoin voimme käyttää VBA: n ”Randomize” -lauseketta satunnaislukujen luomiseen joka kerta, kun avaat Excel-tiedoston uudelleen.


$config[zx-auto] not found$config[zx-overlay] not found