Екцел ВБА: Генератор случајних бројева без дупликата (4 примера)

  • Деле Ово
Hugh West

Овај чланак илуструје 4 примера генератора случајних бројева без дупликата који користе ВБА у Екцел-у. Овде ћемо користити Екцел-ову уграђену Рнд функцију да конфигуришемо наш код. Хајде да заронимо у примере да бисмо научили технике за генерисање јединствених насумичних бројева.

Преузмите свеску за вежбање

Преузмите ову радну свеску за вежбање да бисте вежбали док читате овај чланак.

Генератор случајних бројева без дупликата.клсм

4 примера генератора случајних бројева без дупликата у Екцел ВБА

Напишите код у Висуал Басиц Едитор-у

Да генеришете насумичне бројеве без дупликата , морамо отворити и написати ВБА код у визуелном основном уређивачу. Пратите кораке да отворите визуелни основни уређивач и тамо упишите неки код.

  • Идите на <1 Картица>Програмер са Екцел траке .
  • Кликните на опцију Висуал Басиц.

  • У прозору Висуал Басиц за апликације , кликните на Инсерт падајући мени да одаберете Нови модул опција.

Сада ставите свој код у уредник визуелног кода и притисните Ф5 до покрени то.

1. Употреба ВБА Рнд функције за генерисање случајног броја без дупликата

Функција Рнд се користи у Екцел ВБА до генеришите насумичне бројеве који су између 0 и 1 искључив.

Задатак : Генерирај 10 насумичних бројева између 0 и 1 у ћелијама А1:А10.

Код : Убаците следећи код у висуал басиц едитор и притисните Ф5 за покрени то.

6969

Излаз : Горњи снимак екрана приказује 10 јединствених насумичних бројева у опсегу од 0 и 1.

Објашњење кода:

У овом коду смо користили Рнд функцију да убаците насумичне бројеве у опсег ћелија А1:А10 . Пре уметања новог броја , користили смо До Вхиле Лооп да тражимо број у предефинисани опсег ћелија (А1:А10) да ли већ постоји или не . Да бисмо сваки пут проверили постојање броја у опсегу ћелија , конфигурисали смо код са ЦОУНТИФ функцијом , Ова функција проверава а нови случајни број на листи од већ постојећих бројева пре него што га убаци.

Прочитајте више : Екцел формула за генерисање случајног броја (5 примера)

2. Генератор случајних бројева за дефинисане доње и горње границе без дупликата

Да бисмо генерисали случајне бројеве унутар дефинисаног опсега , потребно је да поставите доњу границу и горњу границу у нашем ВБА коду. За информације, доња граница је најмањи број а горња граница је највећи број у опсегу за генератор случајних бројева. Можемо користити следећу формулу у нашем коду.

(горња граница – доња граница + 1) * Рнд + доња граница

2.1 Случајно Генератор бројева- децимални

Задатак : Генерирај 10 насумичних бројева између 10 и 20 у ћелије А1:А10.

Код : Убаците следећи код у висуал басиц едитор и притисните Ф5 за покрени то.

9237

Излаз : Горњи снимак екрана приказује 10 јединствених насумичних бројева у опсегу од 1 и 10.

2.2 Генератор случајних бројева – цео број

У овој илустрацији користићемо ВБА Инт функција за уклањање разломка из случајних бројева .

Задатак : Генериши 20 насумичних целих бројева између 1 и 20 у ћелијама А1:Б10.

Код : Убаците следећи код у висуал басиц едитор и притисните Ф5 за покрени то.

4561

Излаз : Горњи снимак екрана приказује 20 јединствених насумичних целих бројева у опсегу од 1 и 20.

Прочитајте више: Генератор случајних бројева у Екцел-у без понављања (9 метода)

Слична очитавања

  • Генератор случајних бројева са алатом за анализу података и функцијама у Екцел-у
  • Како Генеришите насумичне податке у Екцел-у (9Једноставне методе)
  • Генератор насумичних 5 цифара у Екцел-у (7 примера)
  • Генератор насумичних 4 цифара у Екцел-у (8 примера)
  • Генериши насумични број са листе у Екцел-у (4 начина)

3. Одредите децимална места за генератор јединствених случајних бројева у програму Екцел ВБА

Можемо користити функцију заокруживања у нашем коду да наведемо број од децимала у насумично генерисаним јединственим бројевима . синтакса функције је-

Роунд(израз, [нумдецималплацес])

Морамо специфицирати 2. аргумент према нашем захтеву .

Задатак : Генериши 20 случајних бројева са 2 децимална места између 1 и 20 у ћелијама А1:Б10.

Код : Убаците следећи код у висуал басиц едитор и притисните Ф5 за покрени ит.

5641

Излаз : Горњи снимак екрана приказује 20 јединствених насумичних целих бројева са 2 децимале у опсегу од 1 и 20.

Прочитајте више: Генеришите случајни број у Екцел-у са децималима (3 методе)

4. Развијте кориснички образац за генератор случајних бројева без дупликата у Екцел ВБА

У овој илустрацији ћемо показати како да користите УсерФорм у Екцел ВБА да генерише насумичне бројеве са без дупликата .

Задатак: Генерирај20 насумичних бројева у опсегу ћелија А1:Б10 користећи УсерФорм са улазним вредностима (и) доња граница (ии) горња граница (иии) број децималних места.

Креирајте кориснички образац:

Пратите доле наведене кораке да бисте креирали кориснички образац са нашим жељеним пољима за унос .

  • Идите на картицу Програмер са Екцел траке .
  • Кликните на Визуелни Основна опција.

  • У прозору Висуал Басиц Фор Апплицатионс , кликните на Инсерт падајући мени да изаберите опцију УсерФорм .

  • У УсерФорм додајте а лабел .
  • Означите ознаку као ЛоверБоунд у својствима.

  • Додајте две још ознаке под називом Горњи појас и ДецималПлацес .

  • Сада додајте три ТектБока у УсерФорм .

  • У овој фази, додајте а ЦоммандБуттон и назовите га Генерирај .

  • Сада, двапут кликните на командно дугме и ставите следећи код у уређивач кодова .
8236

  • Притисните Ф5 да покрените код и УсерФорм се појавио .
  • Поставите доњу границу , горњу границу, и број од децимала у УсерФорм и притисните ГенериДугме .

Излаз : У ћелијама А1:Б10 , има 20 насумичних бројеви са 2 децимална места у опсегу од 1 до 30.

Прочитајте више: Како генерисати насумичне бројеве без дупликата у Екцел-у (7 начина)

Ствари које треба запамтити

  • Могли бисмо да користимо и Поправи функцију уместо Инт функције да генерише јединствене целобројне бројеве . Функција уклања разломак од броја баш као Инт функција .

Закључак

Сада знамо како да генеришемо јединствене случајне бројеве користећи ВБА у Екцел-у уз помоћ одговарајућих примера. Надамо се да ће вам то помоћи да поузданије користите функционалност. Било каква питања или сугестије не заборавите да их ставите у поље за коментаре испод.

Хју Вест је веома искусан Екцел тренер и аналитичар са више од 10 година искуства у индустрији. Дипломирао је рачуноводство и финансије и магистрирао пословну администрацију. Хју има страст према подучавању и развио је јединствен приступ подучавању који је лако пратити и разумети. Његово стручно знање о Екцел-у помогло је хиљадама студената и професионалаца широм света да унапреде своје вештине и постану успешни у каријери. Кроз свој блог, Хју дели своје знање са светом, нудећи бесплатне Екцел туторијале и онлајн обуку како би помогли појединцима и предузећима да остваре свој пуни потенцијал.