VBA juhuslikult - Kuidas kasutada juhust Randomize Statement?

Lang L: none (table-of-contents)

Juhuslikult avaldus VBA-s

VBA Randomize avaldus on lihtne ühe liiniga lause, mille lisame enne RND funktsiooni rakendamist. Kui töövihik uuesti avatakse, annab Randomize-lause lause RND-funktsioonile uue seemnenumbri, sõltuvalt arvuti süsteemiajast.

Enne kui räägin avaldusest Randomize, lubage mul tutvustada teile lihtsat RND-funktsiooni koos VBA-ga.

Ka töölehe funktsioonina „RAND“ genereerib VBA ka „RND“ juhuslikud arvud, mis on suuremad kui 0, kuid väiksemad kui 1.

Nüüd heitke pilk funktsiooni “RND” süntaksile.

(Number): Saame argumenti edastada kolmel viisil.

  • Kui edastame numbri väärtuseks <0, genereerib see iga kord sama juhusliku arvu.
  • Kui edastame numbri 0-ks, kordab see viimast antud numbrit.
  • Kui me edastame arvu> 0, annab see teile pidevalt erinevaid juhuslikke numbreid, st järjestuse järgmise juhusliku arvu.

Näide

Näiteks vaadake allolevat koodi.

Kood:

Sub RND_Example () silumine. Prindi Rnd End Sub

Kui käivitan koodi kohe aknas, näen allolevat numbrit.

Samamoodi näen seda koodi veel 3 korda käivitades allpool olevaid numbreid.

Nüüd panen töövihiku kinni ja avan uuesti.

Nüüd lähen tagasi visuaalse põhiredaktori aknasse.

Nüüd on vahetu aken tühi ja puhas.

Nüüd jällegi täidan koodi neli korda ja näen, millised on numbrid, mis me kohe aknast saame.

Saime samad numbrid kui ülal.

See ei tundu juhuslik number, sest iga kord, kui faili uuesti avame, kipuvad meil samad numbrid algusest peale algama.

Niisiis, kuidas genereerida juhuslikke numbreid, olenemata sellest, kas töövihik avati uuesti või mitte?

Peame kasutama lauset „Randomize”.

Kuidas kasutada VBA juhuslikku avaldust?

Näide 1

Juhuslike arvude saamiseks peame vaid enne funktsiooni RND lisama lihtsa üherealise “Randomize”.

Kood:

Sub juhuslikult_1 () juhuslikult siluda. Prindi Rnd End Sub

Nüüd käivitan koodi 4 korda ja vaatan, mida saan.

See on loonud ülaltoodud numbrid minu kohalikus aknas.

Nüüd ma sulgen faili ja avan faili uuesti.

Nagu tavaliselt, alustame visuaalse põhiakna puhta lehega.

Nüüd täidan koodi uuesti ja vaatan, mis numbrid me seekord saame.

Vau !!! Saime seekord erinevad numbrid.

Kuna me lisasime enne funktsiooni RND avalduse Randomize, saame faili uuesti avamisel erinevad juhuslikud arvud.

See näeb välja nagu juhuslik arv, kas pole ???

Näide 2

Juhuslikud arvud suuremad kui üks

Nagu nägime, saab funktsioon “RND” genereerida ainult numbreid 0–1. Kuid ühest juhuslikust arvust suuremate arvude genereerimiseks peame kasutama töölehe funktsiooniklassiga saadaval olevat RANDOM BETWEEN.

Nii et suuremate kui ühe juhuslike arvude genereerimiseks peame kasutama allolevat koodi.

Kood:

Sub juhuslikult_2 () juhuslikult siluda. Prindi Rnd * 100 End Sub

Nüüd täidan koodi ja vaatan, mida saame.

Niimoodi saame VBA-s avalduse „Randomiseerimine” abil luua juhuslikud arvud iga kord, kui Exceli faili uuesti avame.

Huvitavad Artiklid...