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“ ve VBA vygeneruje „RND“ také 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, stále vám dává různá náhodná čísla, tj. Další náhodné číslo v pořadí.

Příklad

Podívejte se například na níže uvedený kód.

Kód:

Sub RND_Example () Debug.Print Rnd End Sub

Když spustím kód v okně Immediate, vidím níže uvedené číslo.

Podobně, když tento kód provedu 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 začínající od nuly.

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

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

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

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 při každém opětovném otevření souboru různá náhodná čísla.

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

Příklad č. 2

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

Jak jsme viděli, funkce „RND“ může generovat pouze čísla od 0 do 1. Abychom však 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 vygenerovali 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.

Zajímavé články...