Atsitiktinis pareiškimas VBA
„VBA Randomize“ sakinys yra paprastas vienos linijos pareiškimas, kurį pridedame prieš taikydami RND funkciją. Kiekvieną kartą atidarius darbaknygę „Randomize“ sakinyje RND funkcijai suteikiamas naujas sėklų skaičius, atsižvelgiant į kompiuterio sistemos laiką.
Prieš kalbėdamas apie „Randomize“ teiginį, leiskite jums supažindinti jus su paprasta RND funkcija su VBA.
Kaip darbalapio funkcija „RAND“ VBA, „RND“ taip pat generuos atsitiktinius skaičius, kurie yra didesni nei 0, bet mažiau nei 1.
Dabar pažvelkite į „RND“ funkcijos sintaksę.

(Skaičius): argumentą galime perduoti trimis būdais.
- Jei skaičių perduosime kaip <0, jis kiekvieną kartą generuos tą patį atsitiktinį skaičių.
- Jei skaičių perduosime kaip 0, jis pakartos naujausią jo suteiktą skaičių.
- Jei perduodame skaičių> 0, jis suteikia jums skirtingus atsitiktinius skaičius, ty kitą atsitiktinį skaičių sekoje.
Pavyzdys
Pavyzdžiui, pažvelkite į žemiau pateiktą kodą.
Kodas:
Sub RND_Example () derinimas. Spausdinti Rnd End Sub

Kai paleidžiu kodą lange Nedelsiant, matau žemiau esantį numerį.

Panašiai, kai vykdau šį kodą dar 3 kartus, matau žemiau pateiktus skaičius.

Dabar uždarysiu darbo knygą ir vėl ją atidarysiu.
Dabar grįšiu į „Visual Basic“ redaktoriaus langą.

Dabar tiesioginis langas tuščias ir švarus.
Dabar vėl vykdysiu kodą keturis kartus ir pamatysiu, kokius skaičius gausime tiesioginiame lange.

Gavome tuos pačius skaičius kaip ir aukščiau.
Tai neatrodo atsitiktinis skaičius, nes kiekvieną kartą iš naujo atidarę failą, mes linkę gauti tuos pačius skaičius nuo nulio.
Taigi, kaip generuoti atsitiktinius skaičius, neatsižvelgiant į tai, ar darbaknygė vėl atidaryta, ar ne?
Turime naudoti teiginį „Randomize“.
Kaip naudoti „VBA Randomize Statement“?
1 pavyzdys
Norint gauti atsitiktinius skaičius, viskas, ką turime padaryti, yra pridėti paprastą vienos linijos „Randomize“ prieš RND funkciją.
Kodas:
Sub Randomize_1 () atsitiktinai derinkite. Spausdinti Rnd End Sub

Dabar aš paleisiu kodą 4 kartus ir pamatysiu, ką gausiu.

Tai sugeneravo aukščiau nurodytus skaičius mano vietiniame lange.
Dabar uždarysiu failą ir dar kartą atidarysiu failą.
Kaip įprasta, mes pradedame nuo švarios lentos „Visual Basic“ lange.
Dabar vėl vykdysiu kodą ir pažiūrėsiu, kokius skaičius gausime šį kartą.

Oho!!! Šį kartą gavome skirtingus skaičius.
Kadangi prieš funkciją RND pridėjome teiginį Randomize, kiekvieną kartą iš naujo atidarę failą, gauname skirtingus atsitiktinius skaičius.
Tai atrodo kaip atsitiktinis skaičius, ar ne ???
2 pavyzdys
Atsitiktiniai skaičiai, didesni už vieną
Kaip matėme, funkcija „RND“ gali generuoti tik skaičius nuo 0 iki 1. Tačiau norint sugeneruoti didesnius nei vieno atsitiktinio skaičiaus skaičius, turime naudoti „RANDOM BETWEEN“, kurį galima gauti su darbalapio funkcijų klase.
Taigi, norėdami generuoti atsitiktinius skaičius, didesnius nei vienas, turime naudoti žemiau pateiktą kodą.
Kodas:
Sub Randomize_2 () Atsitiktinai derinkite. Spausdinti Rnd * 100 End Sub

Dabar įvykdysiu kodą ir pamatysiu, ką gausime.

Panašiai, mes galime naudoti „Randomize“ sakinį VBA, kad generuotume atsitiktinius skaičius kiekvieną kartą, kai mes iš naujo atidarome „Excel“ failą.