Náhodne VBA - Ako používať príkaz Randomize?

Náhodne prehlásenie vo VBA

Príkaz VBA Randomize je jednoduchý jednorázový príkaz, ktorý pridáme pred aplikáciou funkcie RND. Pri každom opätovnom otvorení zošita príkaz Randomize poskytne funkcii RND nové počiatočné číslo v závislosti od systémového času počítača.

Predtým, ako hovorím o príkaze Randomize, dovoľte mi predstaviť vám jednoduchú funkciu RND s VBA.

Ako funkcia listu „RAND“ vo VBA vygeneruje aj „RND“ náhodné čísla, ktoré sú väčšie ako 0, ale menšie ako 1.

Teraz sa pozrite na syntax funkcie „RND“.

(Číslo): Argument môžeme odovzdať tromi spôsobmi.

  • Ak zadáme číslo ako <0, vygeneruje zakaždým rovnaké náhodné číslo.
  • Ak zadáme číslo ako 0, zopakuje sa posledné zadané číslo.
  • Ak zadáme číslo> 0, dáva vám stále rôzne náhodné čísla, tj ďalšie náhodné číslo v poradí.

Príklad

Napríklad si pozrite nasledujúci kód.

Kód:

Sub RND_Example () Debug.Print Rnd End Sub

Keď spustím kód v okne Okamžité, vidím nižšie uvedené číslo.

Podobne, keď vykonám tento kód ešte 3-krát, vidím nižšie uvedené čísla.

Teraz zavriem zošit a znovu ho otvorím.

Teraz sa vrátim do okna editora jazyka Visual Basic.

Okamžité okno je teraz prázdne a čisté.

Teraz znova vykonám kód štyrikrát a v bezprostrednom okne uvidím, aké čísla dostaneme.

Dostali sme rovnaké čísla, ako sme dostali vyššie.

To nevyzerá ako náhodné číslo, pretože zakaždým, keď súbor znova otvoríme, máme tendenciu získavať rovnaké čísla od nuly.

Ako teda vygenerujeme náhodné čísla bez ohľadu na to, či sa zošit znovu otvoril alebo nie?

Musíme použiť príkaz „Randomize“.

Ako používať vyhlásenie VBA Randomize?

Príklad č

Aby sme dostali náhodné čísla, musíme do funkcie RND pridať jednoduchý riadok „Randomize“.

Kód:

Sub Randomize_1 () Randomize Debug.Print Rnd End Sub

Teraz spustím kód štyrikrát a uvidím, čo dostanem.

To vygenerovalo vyššie uvedené čísla v mojom miestnom okne.

Teraz zavriem súbor a znova ho otvorím.

Ako obvykle začíname s čistým štítom v okne jazyka Visual Basic.

Teraz znova vykonám kód a uvidím, aké čísla tentokrát dostaneme.

Wow!!! Tentokrát sme dostali rôzne čísla.

Pretože sme pred funkciu RND pridali príkaz Randomize, dostaneme pri každom opätovnom otvorení súboru rôzne náhodné čísla.

Toto vyzerá ako náhodné číslo, však ???

Príklad č

Náhodné čísla väčšie ako jedno

Ako sme videli, funkcia „RND“ môže generovať iba čísla od 0 do 1. Aby sme však mohli vygenerovať čísla väčšie ako jedno náhodné číslo, musíme použiť metódu „RANDOM BETWEEN“, ktorá je k dispozícii pre triedu funkcií pracovného hárka.

Aby sme teda mohli generovať náhodné čísla väčšie ako jedno, musíme použiť nasledujúci kód.

Kód:

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

Teraz vykonám kód a uvidíme, čo dostaneme.

Takto môžeme použiť príkaz „Randomize“ vo VBA na generovanie náhodných čísel zakaždým, keď znovu otvoríme súbor programu Excel.

Zaujímavé články...