Змест
Гэты артыкул ілюструе 4 прыклады генератара выпадковых лікаў без дублікатаў з выкарыстаннем VBA ў Excel. Тут мы будзем выкарыстоўваць убудаваную ў Excel функцыю Rnd, каб наладзіць наш код. Давайце паглыбімся ў прыклады, каб вывучыць метады генерацыі унікальных выпадковых лікаў.
Спампаваць практычны сшытак
Спампуйце гэты практычны сшытак, каб займацца, пакуль вы чытаеце гэты артыкул.
Генератар выпадковых лікаў без дублікатаў.xlsm
4 прыклады генератара выпадковых лікаў без дублікатаў у Excel VBA
Напісаць код у рэдактары Visual Basic
Каб генераваць выпадковыя лікі без дублікатаў , нам трэба адкрыць і напісаць VBA код у рэдактары Visual Basic. Выканайце крокі каб адкрыць рэдактар Visual Basic і напісаць там код.
- Перайдзіце да Укладка Распрацоўшчык на стужцы Excel .
- Націсніце опцыю Visual Basic.
- У акне Visual Basic для прыкладанняў пстрыкніце выпадальнае меню Уставіць , каб выбраць Новы модуль варыянт.
Цяпер змясціце свой код у рэдактар візуальнага кода і націсніце F5 каб запусціць гэта.
1. Выкарыстанне функцыі VBA Rnd для генерацыі выпадковага ліку без дублікатаў
Функцыя Rnd выкарыстоўваецца ў Excel VBA для генераваць выпадковыя лікі якія паміж 0 і 1 эксклюзіўна.
Заданне : Стварыць 10 выпадковых лікаў паміж 0 і 1 у ячэйках A1:A10.
Код : Устаўце наступны код у рэдактар Visual Basic і націсніце F5 каб запусціць гэта.
1381
Вывад : На здымку вышэй паказаны 10 унікальных выпадковых лікаў у дыяпазоне 0 і 1.
Тлумачэнне кода:
У гэтым кодзе мы выкарыстоўвалі функцыю Rnd каб уставіць выпадковыя лікі ў дыяпазон вочак A1:A10 . Перш чым уставіць новы нумар , мы выкарыстоўвалі цыкл Do While , каб шукаць нумар у зададзены дыяпазон ячэек (A1:A10) незалежна ад таго, яна ўжо існуе ці не . Каб кожны раз правяраць існаванне лічбы ў дыяпазоне вочак , мы сканфігуравалі код з дапамогай функцыі COUNTIF , гэтая функцыя правярае новы выпадковы лік у спісе ўжо існуючых нумароў перад устаўкай.
Чытаць далей : Формула Excel для стварэння выпадковага ліку (5 прыкладаў)
2. Генератар выпадковых лікаў для вызначанай ніжняй і верхняй мяжы без дублікатаў
Каб генераваць выпадковыя лікі ў межах вызначанага дыяпазону , нам трэба усталяваць ніжнюю мяжу і верхнюю мяжу ў нашым кодзе VBA. Для інфармацыі, ніжняя мяжа гэта найменшая лічба і верхняя мяжа гэта самы высокі лік у дыяпазоне для генератара выпадковых лікаў. Мы можам выкарыстоўваць наступную формулу ў нашым кодзе.
(верхняя мяжа – ніжняя мяжа + 1) * Rnd + ніжняя мяжа
2.1 Выпадковы Генератар лікаў - дзесятковы
Заданне : Стварыць 10 выпадковых лікаў паміж 10 і 20 у ячэйкі A1:A10.
Код : Устаўце наступны код у рэдактар Visual Basic і націсніце F5 каб запусціць гэта.
1935
Вывад : На здымку вышэй паказаны 10 унікальных выпадковых лікаў у дыяпазоне ад 1 да 10.
2.2 Генератар выпадковых лікаў - цэлае
На гэтай ілюстрацыі мы будзем выкарыстоўваць Функцыя VBA Int для выдалення дробавай часткі з выпадковых лікаў .
Заданне : Стварыце 20 выпадковых цэлых лікаў паміж 1 і 20 у ячэйках A1:B10.
Код : Устаўце наступны код у рэдактар Visual Basic і націсніце F5 каб запусціць гэта.
6757
Выхад : На здымку вышэй паказаны 20 унікальных выпадковых цэлых лікаў у дыяпазоне ад 1 да 20.
Больш падрабязна: Генератар выпадковых лікаў у Excel без паўтораў (9 метадаў)
Падобныя паказанні
- Генератар выпадковых лікаў з інструментам аналізу даных і функцыямі ў Excel
- Як Стварэнне выпадковых даных у Excel (9Лёгкія метады)
- Генератар выпадковых 5 лічбаў у Excel (7 прыкладаў)
- Генератар выпадковых 4 лічбаў у Excel (8 прыкладаў)
- Стварыць выпадковы лік са спісу ў Excel (4 спосабы)
3. Укажыце дзесятковыя знакі для унікальнага генератара выпадковых лікаў у Excel VBA
Мы можам выкарыстоўваць функцыю Round у нашым кодзе, каб вызначыць колькасць знакаў пасля коскі ў выпадковым чынам згенераваных унікальных лікаў . Сінтаксіс функцыі:
Round(выраз, [колькасць дзесятковых знакаў])
Нам трэба вызначыць 2-і аргумент у адпаведнасці з нашым патрабаваннем .
Заданне : Стварыць 20 выпадковых лікаў з 2 знакамі пасля коскі паміж 1 і 20 у ячэйках A1:B10.
Код : Устаўце наступны код у рэдактар Visual Basic і націсніце F5 каб запусціць гэта.
3099
Выхад : На прыведзеным вышэй скрыншоце паказана 20 унікальных выпадковых цэлых лікаў з 2 знакі пасля коскі ў дыяпазоне 1 і 20.
Дадатковая інфармацыя: Стварэнне выпадковага ліку ў Excel з дапамогай дзесятковых знакаў (3 метады)
4. Распрацуйце форму карыстальніка для генератара выпадковых лікаў без дублікатаў у Excel VBA
На гэтай ілюстрацыі мы пакажам, як выкарыстоўваць форму карыстальніка ў Excel VBA для генерацыі выпадковых лікаў без без дублікатаў .
Задача: Стварэнне20 выпадковых лікаў у дыяпазоне вочак A1:B10 з выкарыстаннем UserForm з уваходнымі значэннямі (i) ніжняй мяжой (ii) верхняя мяжа (iii) колькасць знакаў пасля коскі.
Стварыце UserForm:
Выканайце наступныя дзеянні, каб стварыць UserForm з нашымі пажаданымі палямі ўводу .
- Перайдзіце на ўкладку Распрацоўшчык з стужкі Excel .
- Націсніце на Візуал Базавы варыянт.
- У акне Visual Basic для прыкладанняў пстрыкніце выпадальнае меню Уставіць каб выбраць параметр UserForm .
- У UserForm дадаць цэтлік .
- Дадайце цэтлік як Ніжняя мяжа ва ўласцівасцях.
- Дадайце дзве яшчэ цэтлікі з назвамі Верхні пояс і Дзесятковыя знакі .
- Цяпер дадайце тры TextBoxes у UserForm .
- На гэтым этапе дадайце a CommandButton і назавіце яго Generate .
- Цяпер двойчы пстрыкніце на CommandButton і ўстаўце наступны код у рэдактар кода .
9246
- Націсніце F5 каб запусціць код і UserForm з'явілася .
- Пастаўце ніжнюю мяжу , верхнюю мяжу і лічбу з знакаў пасля коскі ў Форме карыстальніка і націсніце СтварыцьКнопка .
Вывад : у ячэйках A1:B10 ёсць 20 выпадковых лічбы з 2 знакамі пасля коскі ў дыяпазоне ад 1 да 30.
Чытаць далей: Як згенераваць выпадковыя лікі без дублікатаў у Excel (7 спосабаў)
Пра што трэба памятаць
- Мы таксама можам выкарыстоўваць Функцыя Fix замест функцыі Int для генерацыі унікальных цэлых лікаў . Функцыя выдаляе дробавую частку з ліку гэтак жа, як функцыя Int .
Выснова
Цяпер мы ведаем, як генераваць унікальныя выпадковыя лікі з дапамогай VBA ў Excel з дапамогай адпаведных прыкладаў. Будзем спадзявацца, што гэта дапаможа вам больш упэўнена карыстацца функцыянальнасцю. Любыя пытанні ці прапановы не забывайце размяшчаць іх у полі для каментарыяў ніжэй.