Ustvari naključne številke s pomočjo funkcije VBA RND

Naključne številke Excel VBA

Za generiranje naključnih števil v vba imamo vgrajeno funkcijo, imenovano RND . Za generiranje naključnih števil potrebuje le argument številka, kar je tudi neobvezen parameter. Ustvaril bo naključna števila, ki so večja od 0 in manjša od 1.

To deluje popolnoma enako kot excel funkcija »RAND«. Kot sem povedal v funkciji delovnega lista »RAND« tudi v VBA, lahko ustvarimo naključna števila, ki so večja od 0, vendar manjša od 1.

Zdaj si oglejte sintakso funkcije "RND".

(Število): Argument lahko posredujemo na tri načine.

  • Če prenesemo številko kot <0, vedno znova generira enako naključno število.
  • Če številko prenesemo kot 0, bo ponovila zadnjo številko, ki jo je dala.
  • Če prenesemo število> 0, vam nenehno daje različne naključne številke, tj. Naslednje naključno število v zaporedju.

Kako ustvariti naključne številke s pomočjo kode VBA?

Primer # 1

Zdaj bomo videli preprost primer uporabe funkcije "RND". Sledite spodnjim korakom za samostojno pisanje kode VBA.

1. korak: V VBA spremenljivko prijavite kot »Celo število«.

Koda:

Sub Rnd_Example1 () Dim K Kot Integer End Sub

2. korak: Zdaj dodelite vrednost spremenljivki "k" s pomočjo funkcije " RND ".

Koda:

Sub Rnd_Example1 () Dim K Kot celo število K = Rnd () End Sub

3. korak: V polju za sporočilo prikažite vrednost, ki jo vrne spremenljivka "k" .

Koda:

Sub Rnd_Example1 () Dim K Kot celo število K = Rnd () MsgBox K End Sub

Zdaj zaženite makro excel in poglejte, kakšen je rezultat.

Poglejte, kaj se je zgodilo.

Rezultat prikazuje kot 1, kjer lahko funkcija "RND" vrne samo številke, ki so večje od nič, vendar manjše od 1.

Verjetno razmišljate, kaj je narobe tukaj.

Napačna stvar je vrsta podatkovnega tipa, ki smo jo dodelili spremenljivki k.

Če se ozrete na spremenljivko, ki smo jo razglasili, smo vrsto podatkov dodelili kot celo število. Ker smo spremenljivki dodelili celo število, lahko prikazuje samo celotna števila med -32768 in 32767.

Kadarkoli RND vrne decimalno število, VBA pretvori decimalno število v najbližje celo število, tj. 1.

Torej, da bo formula pravilno delovala, spremenljivko razglasite kot » Double «.

»Double« je podatkovni tip v VBA, ki lahko vsebuje decimalne vrednosti.

Koda:

Sub Rnd_Example1 () Dim K As Double K = Rnd () MsgBox K End Sub

Zdaj koda in poglejte, kakšen je rezultat.

Kliknite na ok in zaženite še enkrat in poglejte, kakšen je rezultat.

Tokrat smo dobili drugačen rezultat. Ker je "RND" v naravi spremenljiva funkcija, ob vsaki izvedbi kode reproducira različne rezultate.

2. primer - Vsakič dobite isto naključno številko

Kot smo videli v prejšnjem primeru e, funkcija “RND” reproducira rezultat vsakič, ko izvedemo kodo. Da bi vedno znova dobili isto naključno število, moramo argument predati kot nič.

Koda:

Sub Rnd_Example2 () Dim K As Double K = Rnd (0) MsgBox K End Sub

To bo vsakič znova ustvarilo isto številko, ko bomo izvedli kodo.

Primer # 3 - Ustvari celo naključno številko

Cela števila lahko ustvarimo tudi z uporabo drugih funkcij VBA ali drugih vhodnih številk. Na primer, poglejte spodnjo kodo.

Koda:

Sub Rnd_Example3 () Dim K As Double K = 1 + Rnd * 100 MsgBox K End Sub

Ta koda bo ustvarila naključna cela števila z decimalnimi vejicami vsakič, ko izvedemo kodo.

Če gledate celotna števila brez decimalnih vej, lahko uporabimo spodnjo kodo.

Koda:

Sub Rnd_Example3 () Dim K As Double K = CInt (1 + Rnd * 100) MsgBox K End Sub

Tako boste še naprej generirali celotna števila od 1 do 100.

Zanimive Članki...