Ustvarite 3 edinstvene naključne številke v programu Microsoft Excel

Anonim

Če želite ustvariti seznam edinstvenih naključnih števil, lahko uporabite funkcije RANDBETWEEN in VBA RND. V tem članku bomo s priloženega seznama ustvarili 3 edinstvene številke.

Izvirno vprašanje najdete tukaj

Vprašanje: Želim, da makro ustvari seznam treh naključnih števil s seznama številk, shranjenih v stolpcu A. Obstaja pogoj, da je treba poskrbeti za kodo VBA. Pogoj je, da v stolpcu B obstajajo 3 številke, zato mora makro ustvariti seznam številk, ki se niso enkrat pojavile v stolpcu B. Na ta način imamo lahko seznam edinstvenih številk v stolpcu B & C.

Sledi posnetek primera, ki ga imamo:

Pridobite seznam edinstvenih naključnih števil; Za zagon urejevalnika VB moramo slediti spodnjim korakom

  • Kliknite zavihek Razvijalec
  • V skupini Koda izberite Visual Basic

  • Kopirajte spodnjo kodo v standardni modul
Sub RandomNumbers () Dim ws As Worksheet Dim ar As Variant Dim RandomNum As Long Dim i As Integer Dim myVal As Long Randomize Set ws = ThisWorkbook.Sheets ("Numbers") With ws ar = .Range ("A" & Rows.Count ) .End (xlUp) .Row .Range ("C1: C3"). ClearContents For i = 1 To 3 Do RandomNum = Int ((1 - ar + 1) * Rnd + ar) myVal = .Range ("A" & RandomNum) .Vanue Loop Until Range ("B1: C24"). Find (what: = myVal, lookat: = xlWhole) Is Nothing .Range ("C" & i) .Value = myVal Next i End With End Sub 

  • Za zagon makra lahko pritisnemo tipko F5 na tipkovnici, če ste aktivni na zaslonu urejevalnika Visual Basic
  • Drug način za zagon makra je uporaba tipke “ALT + F8”; izberite makro in kliknite gumb Zaženi

  • Ko zaženemo kodo VBA, se bo samodejno ustvaril edinstven seznam številk

Koda Pojasnilo:

V zgornji kodi bomo za rezultat dobili funkcijo RND & INT skupaj z zanko For zanko & Do.

  • Dim ws razglasimo za delovni list; namen razglasitve ws kot delovnega lista je, da želimo, da se koda izvaja na določenem delovnem listu, tj. številke v našem primeru
  • Zatemni RandomNum As Long: to bo shranilo edinstvene številke
  • Set ws = ThisWorkbook.Sheets ("Numbers"): ta vrstica bo zagotovila, da se koda izvaja samo na listu Numbers
  • Naslednja vrstica kode bo uporabila stavek With
  • ar = .Range ("A" & Rows.Count) .End (xlUp) .Row: ta vrstica bo shranila zadnjo celico v stolpcu A (24 v našem primeru)
  • .Range ("C1: C3"). ClearContents: ta vrstica bo izbrisala vso obstoječo vsebino v obsegu C1: C3
  • Nato bomo zagnali zanko For od 1 do 3 -krat z Do Loop, da bomo ustvarili seznam naključnih števil in preverili, da ni podvojenih v obstoječem obsegu, tj. Stolpec B

Zaključek: Seznam ločenih naključnih števil lahko ustvarimo s seznama v Microsoftovem Excelu z majhnim spreminjanjem zgornje kode VBA.

Če so vam bili naši blogi všeč, jih delite s prijatelji na Facebooku. Prav tako nas lahko spremljate na Twitterju in Facebooku.

Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo, dopolnimo ali inoviramo svoje delo in ga izboljšamo. Pišite nam na spletni strani elektronske pošte