VBA Randomize | Kako koristiti Izvještaj o slučajnom odabiru?

Izvještaj o slučajnom odabiru u VBA

Izjava VBA Randomize jednostavna je izjava s jednom linijom koju dodajemo prije primjene funkcije RND. Kad god se radna knjiga ponovno otvori, izjava Randomize daje novi početni broj funkciji RND, ovisno o sistemskom vremenu računala.

Prije nego što govorim o izjavi Randomize, dopustite mi da vas upoznam s jednostavnom funkcijom RND s VBA.

Kao funkcija radnog lista "RAND", i u VBA "RND" će generirati slučajne brojeve koji su veći od 0, ali manji od 1.

Sada pogledajte sintaksu funkcije "RND".

[Broj]: Argument možemo proslijediti na tri načina.

  • Ako broj dodamo kao <0, on svaki put generira isti slučajni broj.
  • Ako broj dodamo kao 0, ponovit će najnoviji broj koji je dao.
  • Ako proslijedimo broj> 0, on vam stalno daje različite slučajne brojeve, tj. Sljedeći slučajni broj u nizu.

Primjer

Za primjer pogledajte donji kod.

Kodirati:

 Sub RND_Example () Otklanjanje pogrešaka. Ispis Rnd End Sub 

Kada pokrenem kôd u neposrednom prozoru, vidim ispod broja.

Slično tome, kada izvršim ovaj kod još 3 puta, mogu vidjeti donje brojeve.

Sad ću zatvoriti radnu knjigu i ponovo je otvoriti.

Sada ću se vratiti na prozor osnovnog uređivača Visual Basic.

Sada je neposredni prozor prazan i čist.

Sad ću opet izvršiti kod četiri puta i vidjeti koje ćemo brojeve dobiti u neposrednom prozoru.

Dobili smo iste brojeve kao i gore.

Ovo ne izgleda kao slučajni broj, jer svaki put kad ponovno otvorimo datoteku, obično dobivamo iste brojeve počevši od nule.

Dakle, kako generiramo slučajne brojeve bez obzira na to je li radna knjiga ponovno otvorena ili ne?

Moramo se koristiti izjavom "Randomize".

Kako se koristi VBA Izvještaj o slučajnom odabiru?

Ovaj VBA Randomize Excel predložak možete preuzeti ovdje - VBA Randomize Excel Predložak

Primjer # 1

Da bismo dobili slučajne brojeve, sve što trebamo učiniti je dodati jednostavnu liniju "Randomize" prije funkcije RND.

Kodirati:

 Sub Randomize_1 () Randomize Debug.Print Rnd End End Sub 

Sada ću pokrenuti kod 4 puta i vidjeti što ću dobiti.

Generirao je gornje brojeve u mom lokalnom prozoru.

Sada ću zatvoriti datoteku i ponovno je otvoriti.

Kao i obično, započinjemo s čistom pločicom u prozoru visual basic.

Sad ću ponovno izvršiti kod i vidjeti koje ćemo brojeve dobiti ovaj put.

Wow !!! Ovaj smo put dobili različite brojeve.

Budući da smo prije funkcije RND dodali izjavu Randomize, svaki put kada ponovno otvorimo datoteku dobivamo različite slučajne brojeve.

Ovo izgleda kao slučajni broj, zar ne ???

Primjer # 2

Slučajni brojevi veći od jednog

Kao što smo vidjeli, funkcija „RND“ može generirati samo brojeve od 0 do 1. No, da bismo generirali brojeve veće od jednog slučajnog broja, trebamo upotrijebiti "RANDOM BETWEEN" koji je dostupan s funkcijskom klasom radnog lista.

Dakle, za generiranje slučajnih brojeva većih od jednog trebamo koristiti donji kod.

Kodirati:

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

Sad ću izvršiti kod i vidjeti što ćemo dobiti.

Na ovaj način možemo koristiti naredbu "Randomize" u VBA za generiranje slučajnih brojeva svaki put kad ponovno otvorimo excel datoteku.