VBA RND funktsiooni abil saate luua juhuslikke numbreid

Exceli VBA juhuslikud numbrid

Et genereerida juhuslikke numbreid VBA meil sisseehitatud funktsioon nimega RND . Juhuslike arvude genereerimiseks on vaja vaid argumenti numbrit 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 ma töölehefunktsioonis “RAND” ütlesin, suudame ka VBA-s genereerida juhuslikud arvud, mis on suuremad kui 0, kuid väiksemad kui 1.

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

[Number]: argumenti saame 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?

Selle VBA juhuslike numbrite Exceli malli saate alla laadida siit - VBA juhuslike numbrite Exceli mall

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 muutujale „k” väärtus funktsiooni „ RND ” kaudu .

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 () Dim 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 muutujale, mille oleme deklareerinud, oleme määranud andmetüübiks täisarv. Kuna oleme muutuja määranud täisarvuks, saab see näidata täisarvusid vahemikus -32768 kuni 32767.

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

Nii et valemi nõuetekohaseks toimimiseks deklareerige muutuja " Double ".

„Double” on VBA andmetüüp, mis mahutab kümnendväärtusi.

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 nägime eelmist näidet, 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 genereerida täisarvusid, kasutades muid VBA funktsioone või muid sisendnumbreid. Näite saamiseks vaadake allolevat koodi.

Kood:

 Alam Rnd_näide3 () Dim K kahekordisena 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 allpool olevat 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.


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