Randomize ng VBA | Paano gamitin ang Randomize Statement?

Randomize Statement sa VBA

Pag-randomize ng VBA Ang pahayag ay isang simpleng pahayag na may isang liner na idinagdag namin bago ilapat ang pagpapaandar ng RND. Sa tuwing binubuksan muli ang isang workbook Ang pahayag na Randomize ay nagbibigay ng isang bagong numero ng binhi sa pagpapaandar ng RND depende sa oras ng system ng computer.

Bago ko pag-usapan ang pahayag ng Randomize hayaan mo akong ipakilala sa isang simpleng pag-andar ng RND sa VBA.

Bilang isang pag-andar ng worksheet na "RAND", sa VBA na "RND" ay bubuo din ng mga random na numero na mas malaki sa 0 ngunit mas mababa sa 1.

Tumingin ngayon sa syntax ng pagpapaandar na "RND".

[Bilang]: Maaari nating ipasa ang argument sa tatlong paraan.

  • Kung ipinapasa namin ang numero bilang <0, patuloy itong bumubuo ng parehong random na numero sa bawat oras.
  • Kung ipasa natin ang bilang bilang 0, mauulit nito ang pinakabagong bilang na ibinigay nito.
  • Kung ipinapasa namin ang numero> 0, patuloy itong nagbibigay sa iyo ng iba't ibang mga random na numero hal. Ang susunod na random na numero sa pagkakasunud-sunod.

Halimbawa

Para sa isang halimbawa tingnan ang code sa ibaba.

Code:

 Sub RND_Example () Debug.Print Rnd End Sub 

Kapag pinatakbo ko ang code sa agarang window maaari kong makita ang numero sa ibaba.

Katulad nito, kapag naisakatuparan ko ang code na ito nang 3 pang beses na nakikita ko ang mga numero sa ibaba.

Ngayon ay isasara ko ang workbook at muling bubuksan ito.

Ngayon babalik ako sa visual basic window ng editor.

Ngayon ang agarang window ay walang laman at malinis.

Ngayon muli ay papatayin ko ang code ng apat na beses at makita kung ano ang mga numero na makukuha namin sa agarang window.

Nakuha namin ang parehong mga numero tulad ng nakuha namin sa itaas.

Hindi ito hitsura ng isang random na numero dahil sa tuwing binubuksan namin ulit ang file ay may posibilidad kaming makuha ang parehong mga numero simula sa simula.

Kaya, paano tayo makakagawa ng mga random na numero na hindi alintana kung ang workbook ay muling nagbukas o hindi?

Kailangan naming gamitin ang pahayag na "Randomize".

Paano Gumamit ng VBA Randomize Statement?

Maaari mong i-download ang VBA Randomize Excel Template dito - VBA Randomize Excel Template

Halimbawa # 1

Upang makakuha ng mga random na numero ang kailangan lang nating gawin ay upang idagdag ang simpleng isang-liner na "Randomize" bago ang pagpapaandar ng RND.

Code:

 Sub Randomize_1 () Randomize Debug.Print Rnd End Sub 

Ngayon tatakbo ko ang code ng 4 na beses at makita kung ano ang nakukuha ko.

Nilikha nito ang mga nasa itaas na numero sa aking lokal na window.

Ngayon ay isasara ko ang file at muling bubuksan ang file.

Tulad ng dati, nagsisimula kami sa isang malinis na slate sa visual basic window.

Ngayon ay ipatutupad ko muli ang code at tingnan kung anong mga numero ang nakukuha natin sa oras na ito.

Wow !!! Nakuha namin ang iba't ibang mga numero sa oras na ito.

Dahil idinagdag namin ang pahayag na Randomize bago ang pagpapaandar ng RND nakakakuha kami ng iba't ibang mga random na numero sa tuwing binubuksan namin ulit ang file.

Mukha itong isang random na numero di ba ???

Halimbawa # 2

Mga Random na Numero na Mas Mahigit sa Isa

Tulad ng nakita natin na "RND" na pagpapaandar ay maaaring makabuo ng mga numero mula 0 hanggang 1 lamang. Ngunit upang makabuo ng mga bilang na mas malaki sa isang random na numero kailangan nating gamitin ang "RANDOM BETWEEN" na magagamit sa klase ng pagpapaandar ng worksheet.

Kaya, upang makabuo ng mga random na numero na mas malaki sa isa kailangan nating gamitin ang code sa ibaba.

Code:

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

Ngayon ay isasagawa ko ang code at tingnan kung ano ang makukuha namin.

Tulad nito, maaari naming gamitin ang pahayag na "Randomize" sa VBA upang makabuo ng mga random na numero tuwing binubuksan namin ang excel file.