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

Sisällysluettelo

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.

VBA: n laskentataulukofunktiona "RAND" myös "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, toisin sanoen sarjan seuraavan satunnaisluvun.

Esimerkki

Katso esimerkiksi alla oleva koodi.

Koodi:

Sub RND_Example () Debug.Print Rnd End Sub

Kun suoritan koodin Välitön-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, meillä on taipumus saada 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?

Esimerkki 1

Satunnaislukujen saamiseksi meidän on vain 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.

Nyt suljen 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 eri satunnaisluvut joka kerta, 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 jotta voidaan luoda lukuja, jotka ovat suurempia kuin yksi satunnaisluku, joudumme käyttämään ”RANDOM BETWEEN”, joka on saatavana laskentataulukon toimintoluokan kanssa.

Joten, jos haluat luoda satunnaislukuja, jotka ovat suurempia kuin yksi, 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.

Mielenkiintoisia artikkeleita...