Generirajte 3 jedinstvena slučajna broja u programu Microsoft Excel

Anonim

Ako želite generirati popis jedinstvenih slučajnih brojeva, tada možete koristiti funkcije RANDBETWEEN & VBA RND. U ovom ćemo članku generirati 3 jedinstvena broja s ponuđenog popisa.

Izvorno pitanje možete pronaći ovdje

Pitanje: Želim da makronaredba generira popis od 3 slučajna broja s popisa brojeva spremljenih u stupcu A. Postoji uvjet za koji je potrebno voditi računa o VBA kodu. Uvjet je da u stupcu B postoje 3 broja, stoga makro mora stvoriti popis brojeva koji se nisu jednom pojavili u stupcu B. Na taj način možemo imati popis jedinstvenih brojeva u stupcu B & C.

Slijedi snimak primjera koji imamo:

Da biste dobili popis jedinstvenih slučajnih brojeva; moramo pokrenuti donje korake za pokretanje VB uređivača

  • Kliknite karticu Developer
  • Iz grupe kodova odaberite Visual Basic

  • Kopirajte donji kod u standardni modul
Sub RandomNumbers () Dim ws As Radni list 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). Petlja vrijednosti do raspona ("B1: C24"). Pronađi (what: = myVal, lookat: = xlWhole) Is Nothing .Range ("C" & i) .Value = myVal Next i End With End Sub 

  • Za pokretanje makronaredbe možemo pritisnuti tipku F5 s tipkovnice ako ste aktivni na zaslonu uređivača Visual Basic
  • Drugi način pokretanja makronaredbe je upotreba tipke “ALT + F8”; odaberite makro i kliknite gumb Pokreni

  • Dok pokrećemo VBA kôd, automatski će se generirati jedinstveni popis brojeva

Objašnjenje koda:

U gornjem kodu koristit ćemo funkciju RND & INT zajedno s For loop & Do loop kako bismo dobili rezultat.

  • Deklariramo Dim ws kao radni list; svrha deklariranja ws -a kao radnog lista jest da samo želimo da se kôd izvodi na određenom radnom listu, tj. brojevima u našem primjeru
  • Dim RandomNum As Long: ovo će spremiti jedinstvene brojeve
  • Postavite ws = ThisWorkbook.Sheets ("Brojevi"): ovaj će redak osigurati da se kôd izvodi samo na listu Brojevi
  • Sljedeći redak koda koristit će naredbu With
  • ar = .Range ("A" & Rows.Count) .End (xlUp) .Row: ovaj će redak spremiti posljednju ćeliju u stupac A (24 u našem primjeru)
  • .Range ("C1: C3"). ClearContents: ovaj će redak izbrisati sav postojeći sadržaj u rasponu C1: C3
  • Zatim ćemo pokrenuti For petlju počevši od 1 do 3 puta s Do Loop -om kako bismo generirali popis slučajnih brojeva i provjerili da nema duplikata u postojećem rasponu, tj. Stupcu B

Zaključak: Možemo generirati popis različitih slučajnih brojeva s popisa u Microsoftovom Excelu s malim dotjerivanjem gornjeg VBA koda.

Ako vam se sviđaju naši blogovi, podijelite ih sa svojim prijateljima na Facebooku. Također nas možete pratiti na Twitteru i Facebooku.

Voljeli bismo čuti vaše mišljenje, javite nam kako možemo poboljšati, nadopuniti ili inovirati svoj rad i učiniti ga boljim za vas. Pišite nam na web stranici e -pošte