Excel VBA: Генератор на случаен број без дупликати (4 примери)

  • Споделете Го Ова
Hugh West

Овој напис илустрира 4 примери на генератор на случаен број без дупликати користејќи VBA во Excel. Овде ќе ја користиме вградената функција Rnd на Excel за да го конфигурираме нашиот код. Ајде да се нурнеме во примерите за да ги научиме техниките за генерирање единствени случајни броеви.

Преземете ја работната книга за вежбање

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

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

4 Примери за генератор на случаен број без дупликати во Excel VBA

Напишете код во Visual Basic Editor

За генерирање случајни броеви без дупликати , треба да отвораме и напишеме VBA код во визуелниот базичен уредник. Следете ги чекорите за да го отворите визуелниот базичен уредник и да напишете некој код таму.

  • Одете на Програмерска картичка од Excel Ribbon .
  • Кликнете на опцијата Visual Basic.

  • Во прозорецот Visual Basic за апликации , кликнете на паѓачкото мени Вметни за да изберете Новиот модул опција.

Сега ставете го вашиот код во уредувачот на визуелни кодови и притиснете F5 за да изврши тоа.

1. Користење на функцијата VBA Rnd за генерирање случаен број без дупликати

Функцијата Rnd се користи во Excel VBA до генерира случајни броеви кои се помеѓу 0 и 1 ексклузивно.

Задача : Генерирајте 10 случајни броеви помеѓу 0 и 1 во ќелиите A1:A10.

Код : Вметнете го следниот код во визуелниот базичен уредник и притиснете F5 за да го извршите тоа.

9834

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

Објаснување на кодот:

Во овој код, ја користевме функцијата Rnd за вметнување случајни броеви во опсегот на ќелии A1:A10 . Пред да вметнеме а нов број , користевме Do while Loop за да го побараме бројот во предефиниран опсег на ќелии (A1:A10) дали веќе постои или не . За да го провериме постоењето на бројот во опсегот на ќелиите секој пат, го конфигуриравме кодот со функцијата COUNTIF , Оваа функција проверува а нов случаен број во листата на веќе постоечките броеви пред да го вметне.

Прочитај повеќе : Формула на Excel за генерирање случаен број (5 примери)

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

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

(горно – долна + 1) * Rnd + долна граница

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

Задача : Генерирајте 10 случајни броеви помеѓу 10 и 20 во ќелии A1:A10.

Код : Вметнете го следниот код во визуелниот базичен уредник и притиснете F5 за да го извршите тоа.

6103

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

2.2 Генератор на случаен број - Цел број

Во оваа илустрација, ќе го користиме Функција VBA Int за да се отстрани фракциониот дел од случајните броеви .

Задача : Генерирајте 20 случајни цели броеви помеѓу 1 и 20 во ќелиите A1:B10.

Код : Вметнете го следниот код во визуелниот базичен уредник и притиснете F5 за да го извршите тоа.

6541

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

Прочитај повеќе: Генератор на случаен број во Excel без повторувања (9 методи)

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

  • Генератор на случаен број со алатка и функции за анализа на податоци во Excel
  • Како да Генерирајте случајни податоци во Excel (9Лесни методи)
  • Случаен генератор на 5 цифри во Excel (7 примери)
  • Случаен генератор на 4 цифри во Excel (8 примери)
  • Генерирајте случаен број од списокот во Excel (4 начини)

3. Наведете децимални места за уникатен генератор на случаен број во Excel VBA

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

Round(израз, [numdecimalplaces])

Ние треба да одредиме втор аргумент според нашето барање .

Задача : Генерирајте 20 случајни броеви со 2 децимални места помеѓу 1 и 20 во ќелиите A1:B10.

Код : Вметнете го следниот код во визуелниот базичен уредник и притиснете F5 за да го извршите тоа.

4089

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

Прочитајте повеќе: Генерирајте случаен број во Excel со децимали (3 методи)

4. Развијте корисничка форма за генератор на случаен број без дупликати во Excel VBA

Во оваа илустрација, ќе покажеме како да се користи UserForm во Excel VBA за генерирање случајни броеви без без дупликати .

Задача: Генерира20 случајни броеви во опсегот на ќелиите A1:B10 користејќи Корисничка форма со влезни вредности (i) долна граница (ii) горната граница (iii) број на децимални места.

Креирај UserForm:

Следете ги чекорите подолу за да креирате UserForm со нашите посакувани полиња за внесување .

  • Одете во картичката Програмер од Excel лентата .
  • Кликнете на Visual Основна опција.

  • Во прозорецот Visual Basic за апликации , кликнете на паѓачкото мени Вметни за изберете опцијата UserForm .

  • Во UserForm додадете a етикета .
  • Наслов на етикетата како Lower Bound во својствата.

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

  • Сега додадете три текстуални кутии во Корисничка форма .

  • Во оваа фаза, додајте а CommandButton и именувајте го Generate .

  • Сега, кликнете двапати на CommandButton и ставете го следниов код во уредувачот на кодови .
9499

  • Притиснете F5 за да го извршите кодот и Корисничката форма се се појави .
  • Ставете ја долната граница , горната граница, и бројот од децимални места во Корисничка форма и притиснете ГенерирајКопче .

Излез : Во ќелиите A1:B10 , има 20 случајни броеви со 2 децимални места во опсегот од 1 до 30.

Прочитајте повеќе: Како да генерирате случајни броеви без дупликати во Excel (7 начини)

Работи што треба да се запаметат

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

Заклучок

Сега, знаеме како да генерираме единствени случајни броеви користејќи VBA во Excel со помош на соодветни примери. Се надеваме дека тоа ќе ви помогне да ја користите функционалноста посигурно. Сите прашања или предлози не заборавајте да ги ставите во полето за коментари подолу.

Хју Вест е високо искусен тренер и аналитичар на Excel со повеќе од 10 години искуство во индустријата. Има диплома за сметководство и финансии и магистер по бизнис администрација. Хју има страст за предавање и има развиено уникатен пристап на наставата кој е лесен за следење и разбирање. Неговото стручно познавање на Excel им помогна на илјадници студенти и професионалци ширум светот да ги подобрат своите вештини и да се истакнат во нивните кариери. Преку својот блог, Хју го споделува своето знаење со светот, нудејќи бесплатни упатства за Excel и онлајн обука за да им помогне на поединците и бизнисите да го достигнат својот целосен потенцијал.