VBA Randomize | Jak používat příkaz Randomize?

Náhodné prohlášení ve VBA

Příkaz VBA Randomize je jednoduchý jednorázový příkaz, který přidáme před použitím funkce RND. Kdykoli je sešit znovu otevřen, příkaz Randomize poskytuje nové počáteční číslo funkce RND v závislosti na systémovém čase počítače.

Než promluvím o příkazu Randomize, dovolte mi představit vám jednoduchou funkci RND s VBA.

Jako funkce listu „RAND“ vygeneruje ve VBA také „RND“ náhodná čísla, která jsou větší než 0, ale menší než 1.

Nyní se podívejme na syntaxi funkce „RND“.

[Číslo]: Argument můžeme předat třemi způsoby.

  • Pokud číslo předáme jako <0, generuje pokaždé stejné náhodné číslo.
  • Pokud číslo předáme jako 0, bude opakovat nejnovější číslo, které zadalo.
  • Pokud předáme číslo> 0, pořád vám dává různá náhodná čísla, tj. Další náhodné číslo v pořadí.

Příklad

Například se podívejte na níže uvedený kód.

Kód:

 Sub RND_Example () Debug.Print Rnd End Sub 

Když spustím kód v okamžitém okně, vidím pod číslem.

Podobně, když spustím tento kód ještě 3krát, vidím níže uvedená čísla.

Teď zavřu sešit a znovu ho otevřete.

Nyní se vrátím do okna editoru jazyka Visual Basic.

Okamžité okno je nyní prázdné a čisté.

Nyní znovu provedu kód čtyřikrát a uvidím, jaká čísla dostaneme v okamžitém okně.

Získali jsme stejná čísla jako výše.

To nevypadá jako náhodné číslo, protože pokaždé, když znovu otevřete soubor, máme tendenci získávat stejná čísla počínaje od nuly.

Jak tedy generujeme náhodná čísla bez ohledu na to, zda se sešit znovu otevřel nebo ne?

Musíme použít příkaz „Randomize“.

Jak používat příkaz VBA Randomize?

Tuto šablonu VBA Randomize Excel si můžete stáhnout zde - VBA Randomize Excel Template

Příklad č. 1

Chcete-li získat náhodná čísla, vše, co musíme udělat, je přidat jednoduchou jednorázovou linku „Randomize“ před funkci RND.

Kód:

 Sub Randomize_1 () Randomize Debug.Print Rnd End Sub 

Nyní spustím kód 4krát a uvidím, co dostanu.

Vygenerovala výše uvedená čísla v mém místním okně.

Nyní zavřu soubor a znovu jej znovu otevřete.

Jako obvykle začneme s čistým štítem v okně jazyka Visual Basic.

Nyní znovu provedu kód a uvidím, jaká čísla tentokrát dostaneme.

Páni!!! Tentokrát jsme dostali různá čísla.

Protože jsme přidali příkaz Randomize před funkcí RND, získáváme různá náhodná čísla pokaždé, když soubor znovu otevřeme.

Vypadá to, že náhodné číslo, že?

Příklad č. 2

Náhodná čísla větší než jedna

Jak jsme viděli, funkce „RND“ může generovat čísla pouze od 0 do 1. Abychom ale mohli vygenerovat čísla větší než jedno náhodné číslo, musíme použít „NÁHODNÝ MEZI“, který je k dispozici u třídy funkcí listu.

Abychom tedy mohli vygenerovat náhodná čísla větší než jedna, musíme použít níže uvedený kód.

Kód:

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

Nyní spustím kód a uvidím, co dostaneme.

Takto můžeme použít příkaz „Randomize“ ve VBA ke generování náhodných čísel pokaždé, když znovu otevřeme soubor aplikace Excel.


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