Генеришите 3 јединствена случајна броја у Мицрософт Екцелу

Anonim

Ако желите да генеришете листу јединствених случајних бројева, можете користити функције РАНДБЕТВЕЕН & ВБА РНД. У овом чланку ћемо генерисати 3 јединствена броја са наведене листе.

Оригинално питање можете пронаћи овде

Питање: Желим да макро генерише листу од 3 случајна броја са листе бројева сачуваних у колони А. Постоји услов да се мора водити рачуна о ВБА коду. Услов је да у колони Б постоје 3 броја, па макро мора да створи листу бројева који се нису једном појавили у колони Б. На овај начин можемо имати листу јединствених бројева у колони Б и Ц.

Следи снимак примера који имамо:

Да бисте добили листу јединствених случајних бројева; морамо да следимо кораке у наставку да бисмо покренули ВБ едитор

  • Кликните на картицу Девелопер
  • Из групе кодова изаберите Висуал Басиц

  • Копирајте доњи код у стандардни модул
Суб РандомНумберс () Дим вс Ас Ворксхеет Дим ар Ас Вариант Дим РандомНум Ас Лонг Дим и Ас Интегер Дим миВал Ас Лонг Рандомизе Сет вс = ТхисВоркбоок.Схеетс ("Нумберс") Витх вс ар = .Ранге ("А" & Ровс.Цоунт ) .Енд (клУп) .Ров .Ранге ("Ц1: Ц3"). ЦлеарЦонтентс Фор и = 1 То 3 До РандомНум = Инт ((1 - ар + 1) * Рнд + ар) миВал = .Ранге ("А" & РандомНум). Петља вредности до опсега ("Б1: Ц24"). Пронађи (шта: = миВал, лоокат: = клВхоле) Није ништа. Ранге ("Ц" & и). Вредност = миВал Следеће и Заврши са Енд Суб 

  • Да бисмо покренули макро, можемо притиснути тастер Ф5 са тастатуре ако сте активни на екрану уређивача Висуал Басиц
  • Други начин покретања макроа је коришћење тастера „АЛТ + Ф8“; изаберите макро и кликните на дугме Покрени

  • Док покрећемо ВБА код, јединствена листа бројева ће се аутоматски генерисати

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

У горњем коду користићемо функцију РНД & ИНТ заједно са Фор лооп & До лооп да бисмо добили резултат.

  • Проглашавамо Дим вс као радни лист; сврха декларисања в -а као радног листа је да само желимо да се код изводи на одређеном радном листу, тј. бројевима у нашем примеру
  • Дим РандомНум Ас Лонг: ово ће сачувати јединствене бројеве
  • Сет вс = ТхисВоркбоок.Схеетс ("Нумберс"): ова линија ће осигурати да се код изводи само на листу Нумберс
  • Следећи ред кода користиће наредбу Витх
  • ар = .Ранге ("А" & Ровс.Цоунт) .Енд (клУп) .Ров: ова линија ће сачувати последњу ћелију у колони А (24 у нашем примеру)
  • .Ранге ("Ц1: Ц3"). ЦлеарЦонтентс: ова линија ће избрисати сав постојећи садржај у опсегу Ц1: Ц3
  • Затим ћемо покренути Фор петљу почевши од 1 до 3 пута помоћу До Лооп -а да бисмо генерисали листу случајних бројева и проверили да нема дупликата у постојећем опсегу, тј. Колони Б

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

Ако вам се допадају наши блогови, поделите их са пријатељима на Фацебооку. Такође нас можете пратити на Твиттер -у и Фацебоок -у.

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