Looge Microsoft Excelis kolm unikaalset juhuslikku numbrit

Anonim

Kui soovite luua unikaalsete juhuslike numbrite loendi, saate kasutada funktsioone RANDBETWEEN ja VBA RND. Selles artiklis genereerime pakutud loendist 3 unikaalset numbrit.

Originaalse küsimuse leiate siit

Küsimus: Soovin, et makro genereeriks veergu A salvestatud numbrite loendist 3 juhusliku numbri loendi. VBA -koodi eest tuleb hoolitseda. Tingimus on, et veerus B on 3 numbrit, seega peab makro looma veerus B olevate numbrite loendi, mida pole üks kord esinenud. Sel viisil saame veerus B & C unikaalsete numbrite loendi.

Järgnev on meie näite ülevaade:

Unikaalsete juhuslike numbrite loendi hankimiseks; VB redaktori käivitamiseks peame järgima alltoodud samme

  • Klõpsake vahekaarti Arendaja
  • Valige koodigrupist Visual Basic

  • Kopeerige allolev kood standardmoodulisse
Alamjuhuslikud numbrid () Dim ws kui tööleht Dim ar Variant Dim RandomNum Nii pikk Dim i Nagu täisarv Dim myVal nii kaua juhuslikus komplekt ws = ThisWorkbook.Sheets ("Numbers") Ws ar = .Range ("A" & Rows.Count ) .End (xlUp) .Rida .Range ("C1: C3"). ClearContents For i = 1 to 3 Do RandomNum = Int ((1 - ar + 1) * Rnd + ar) myVal = .Range ("A" & RandomNum) .Väärtuse tsükkel kuni vahemikuni ("B1: C24"). Leia (mis: = myVal, lookat: = xlWhole) pole midagi .Range ("C" & i) .Väärtus = myVal Järgmine i Lõpp lõpuosaga 

  • Makro käitamiseks võime vajutada klaviatuurilt klahvi F5, kui olete Visual Basic Editori ekraanil aktiivne
  • Teine viis makro käivitamiseks on klahvi ALT + F8 kasutamine; valige makro ja klõpsake nuppu Käivita

  • VBA koodi käivitamisel genereeritakse unikaalne numbrite loend automaatselt

Koodi selgitus:

Ülaltoodud koodis kasutame tulemuse saamiseks funktsiooni RND & INT koos silmuse ja tegemise silmusega.

  • Kuulutame Dim ws tööleheks; ws tööleheks deklareerimise eesmärk on, et me tahaksime, et kood töötaks ainult kindlal töölehel, st meie näite numbrid
  • Dim RandomNum As Long: see salvestab unikaalsed numbrid
  • Set ws = ThisWorkbook.Sheets ("Numbers"): see rida tagab, et kood töötab ainult numbrite lehel
  • Järgmine koodirida kasutab koos avaldusega
  • ar = .Range ("A" & Rows.Count) .End (xlUp). Rida: see rida salvestab veeru A viimase lahtri (meie näites 24)
  • .Range ("C1: C3"). ClearContents: see rida kustutab kogu olemasoleva sisu vahemikus C1: C3
  • Järgmisena käivitame tsüklit alustades 1-3 korda Do Loopiga, et luua juhuslike numbrite loend ja kontrollida, kas olemasolevas vahemikus, st veerus B pole duplikaate

Järeldus: Saame luua Microsofti Exceli loendist erinevate juhuslike numbrite loendi, pisut kohandades ülaltoodud VBA -koodi.

Kui teile meeldisid meie ajaveebid, jagage seda oma sõpradega Facebookis. Samuti saate meid jälgida Twitteris ja Facebookis.

Tahaksime sinust kuulda, andke meile teada, kuidas saaksime oma tööd täiustada, täiendada või uuendada ning muuta see teie jaoks paremaks. Kirjuta meile meilisaidile