VBA RND funktsiooni abil saate luua juhuslikke numbreid

Lang L: none (table-of-contents)

Exceli VBA juhuslikud numbrid

Et genereerida juhuslikke numbreid VBA meil sisseehitatud funktsioon nimega RND . Juhuslike arvude genereerimiseks on vaja vaid argumenti arvu ja see on ka valikuline parameeter. See loob juhuslikud arvud, mis on suuremad kui 0 ja väiksemad kui 1.

See töötab täpselt samamoodi nagu Exceli funktsioon RAND. Nagu ütlesin ka VBA töölehe funktsioonis „RAND“, võime genereerida juhuslikud arvud, mis on suuremad kui 0, kuid väiksemad kui 1.

Nüüd heitke pilk funktsiooni “RND” süntaksile.

(Number): Saame argumenti edastada kolmel viisil.

  • Kui edastame numbri väärtuseks <0, genereerib see iga kord sama juhusliku arvu.
  • Kui edastame numbri 0-ks, kordab see viimast antud numbrit.
  • Kui me edastame arvu> 0, annab see teile pidevalt erinevaid juhuslikke numbreid, st järjestuse järgmise juhusliku arvu.

Kuidas VBA-koodi abil juhuslikke numbreid genereerida?

Näide 1

Nüüd näeme funktsiooni “RND” kasutamise lihtsat näidet. Järgige alltoodud samme, et kirjutada VBA-kood ise.

1. samm: deklareerige muutuja VBA-s „Integer”.

Kood:

Alam Rnd_Näide1 () Dim K täisarvu lõppsummana

2. samm: määrake nüüd funktsiooni „ RND ” kaudu väärtus muutujale „k” .

Kood:

Alam Rnd_näide1 () Mõõt K täisarvuna K = Rnd () Lõpp alam

3. samm: kuvage teatekastis muutuja „k” tagastatud väärtus .

Kood:

Alam Rnd_näide1 () Mõõt K täisarvuna K = Rnd () MsgBox K Lõpp alam

Käivitage nüüd Exceli makro ja vaadake, mis on tulemus.

Vaata, mis on juhtunud.

Tulemust näidatakse kui 1, kus funktsioon „RND” saab tagastada ainult numbrid, mis on suuremad kui null, kuid väiksemad kui 1.

Peate mõtlema, mis siin vale on.

Vale asi on siin selline andmetüüp, mille oleme määranud muutujale „k”.

Kui vaatate tagasi deklareeritud muutujale, määrasime andmetüübiks täisarv. Kuna oleme muutuja määranud täisarvuks, saab see näidata täisarvusid vahemikus -32768 kuni 32767.

Alati, kui RND tagastab kümnendarvu, teisendab VBA kümnendarvu lähima täisarvuni, st 1.

Seega, et valem korralikult töötaks, deklareerige muutuja väärtuseks „ Double ”.

„Double” on VBA andmetüüp, mis mahutab kümnendarvud.

Kood:

Alamrnd_näide1 () Dim K kahekordsena K = Rnd () MsgBox K Lõpp-alam

Nüüd kood ja vaadake, mis tulemus on.

Klõpsake nuppu OK ja käivitage veel üks kord ning vaadake, mis tulemus on.

Seekord saime teistsuguse tulemuse. Kuna “RND” on oma olemuselt kõikuv funktsioon, reprodutseerib see iga kord, kui koodi täidate, erinevaid tulemusi.

Näide 2 - saate iga kord sama juhusliku arvu

Nagu eelmises näites e nägime, reprodutseerib funktsioon “RND” tulemuse iga kord, kui me koodi täidame. Sama juhusliku arvu saamiseks peame argumenti edastama nullina.

Kood:

Alam Rnd_näide2 () Dim K kahekordsena K = Rnd (0) MsgBox K Lõpp alam

See tekitab sama numbri ikka ja jälle, kui me koodi täidame.

Näide # 3 - genereerige kogu juhuslik arv

Samuti võime terveid arve genereerida, kasutades muid VBA funktsioone või muid sisendnumbreid. Näiteks vaadake allolevat koodi.

Kood:

Alam Rnd_näide3 () Dim K kahekordne K = 1 + Rnd * 100 MsgBox K Lõpp alam

See kood genereerib juhuslikud täisarvud kümnendkohtadega iga kord, kui koodi täidame.

Kui vaatate täisnumbreid ilma kümnendkohtadeta, saame kasutada allolevat koodi.

Kood:

Alam Rnd_näide3 () Mõõt K kahekordisena K = CInt (1 + Rnd * 100) MsgBox K Lõpp-alam

See genereerib täisarvud vahemikus 1 kuni 100.

Huvitavad Artiklid...