Въведение в случайно число на VBA

В excel имаме функция, наречена RAND, която се използва за генериране на случайни числа. Тъй като ние имаме RND функция в VBA, която се използва за генериране на произволни числа. Функцията RND генерира числа, които са по-големи от 0, но по-малки от 1.

Синтаксис на случайно число в Excel VBA

Синтаксисът на функцията Random Number excel VBA е както следва:

Можем да видим в синтаксиса на функцията RND по-горе, можем да използваме само едно число като вход.

Ние даваме вход във функцията RND по под 3 начина;

  1. Ако дадем число <0, то той ще генерира едно и също число всеки път, когато стартираме кода.
  2. Ако дадем число като 0, то ще изскочи последното число, което е генерирано.
  3. Ако дадем число> 0, то ще продължи да генерира различни случайни числа. Но ще бъде в последователност.

Как да използвате Excel функция за случайни числа?

Нека да видим примерите за случайно число в Excel VBA.

Можете да изтеглите този шаблон на VBA Random Number Excel тук - VBA шаблон на случайни числа в Excel

Пример №1 - Случайно число на VBA

Стъпка 1: Това можем директно да приложим към VBA. За това отидете на прозореца VBA и отворете модул от менюто Вмъкване, както е показано по-долу.

Стъпка 2: След като направим това, ще получим прозорец на модул във VBA. В този модул напишете подкатегория на VBA Random Number със същото име или на което и да е име според вашия избор.

Код:

 Sub RandomNumber () Край Sub 

Стъпка 3: Сега изберете дума или азбука и я определете като променлива и й присвойте Double . Тук обмисляме променлива Dim A и я даваме на Double . Избирането на двойно вместо Integer ще бъде полезно, защото ще виждаме десетични стойности, които са между 0 и 1.

Код:

 Sub RandomNumber () Dim A като Double End Sub 

Стъпка 4: Сега след това ще използваме променлива A, която дефинирахме по-горе и ще й зададем функция Rnd за генериране на произволни числа, както е показано по-долу.

Код:

 Sub RandomNumber () Dim A като двойно A = Rnd (Край Sub 

Стъпка 5: Както можем да видим на горния екран, функцията RND има синтаксиса като число и това ще бъде едноцифрено число. Тук ще видим как даването на число по-малко от 0 ще генерира какво? Така че в скоби на RND функция вмъкнете -1, което е най-скорошното число по-малко от 0.

Код:

 Sub RandomNumber () Dim A As Double A = Rnd (-1) End Sub 

Стъпка 6: Най-накрая, за да получим изхода, се нуждаем от справка на клетка или поле за съобщение, където тя ще отразява случайното число. Вмъкнете командата Msgbox на полето за съобщения и задайте тук дефинираната променлива.

Код:

 Sub RandomNumber () Dim A като двойно A = Rnd (-1) MsgBox A End Sub 

Стъпка 7: Сега можем да компилираме кода и да го стартираме, като кликнем върху бутона за възпроизвеждане под лентата на менюто. Ще видим първото генерирано произволно число, което е по-малко от 0, което е 0.2240070104599, както е показано по-долу.

Ако отново стартираме кода, той ще продължи да генерира един и същ код отново и отново.

Пример №2 - Случайно число на VBA

Видяхме как да се генерират произволни числа, което е по-малко от 0. Има друг начин за получаване на произволни числа. В този пример ще генерираме произволното число, като ще дадем 0 като вход към RND функцията.

За това ще използваме същия код, използван в пример-1.

Стъпка 1: Сега вместо -1, което е между скобите на RND Function, поставете 0.

Код:

 Sub RandomNumber () Dim A като двойно A = Rnd (0) MsgBox A End Sub 

Стъпка 2: Можем да компилираме кода, ако е необходимо, или иначе да стартираме директно чрез натискане на клавиша F5 (Клавиш за бърз достъп), за да стартирате кода. Можем да видим, че функцията RND е генерирала същото число, което е генерирано, когато сме въвели вход по-малък от 0. Което означава, че ако дадем 0 като входна RND функция, тогава тя ще генерира предварително генерираното число.

И ако отново стартираме кода, той ще продължи да дава едно и също произволно число.

Пример №3 - Случайно число на VBA

В този пример ще видим какво ще се случи, ако дадем стойност по-голяма от 0. Можем да изберем да напишем нов код или можем да направим промените в кода, който сме написали по-горе. Нека разгледаме кода, който видяхме по-горе.

Стъпка 1: Тъй като трябва да тестваме число по-голямо от 0, така че във функцията RND използвайте празно и добавете +1 за стойности, по-големи от 1, както е показано по-долу.

Код:

 Sub RandomNumber () Dim A като двойно A = 1 + Rnd () MsgBox A End Sub 

Стъпка 2: Компилирайте кода, ако искате, и след това стартирайте кода. Ще видим, че генерираното произволно число е различно от числото, което е генерирано по-рано. По-долу е екранна снимка, която показва, че случайното число е в частта от 1.035… .41 . Което е по-голямо от 0.

Ако отново стартираме същия код, ще продължим да получаваме различни случайни числа. Така че получихме веднага след като стартирахме кода отново. Този път случайните числа, които получихме, са двойната стойност на нарушението в сравнение с произволното число, генерирано по-рано.

Плюсове на случаен номер на VBA

  1. Изглежда трудно, но е лесно да се приложи.
  2. Това е доста полезно, когато работим за генериране на номера на билети на случаен принцип.
  3. Процесът, показан в пример-3, може да бъде реализиран по много различни начини.

Неща, които трябва да запомните

  • Това може да се реализира чрез MS Excel функция също с името на функцията RAND.
  • Първо ние тестваме пример-2, преди да стартираме код от пример-2. Защото всъщност ще покаже какво е било числото, генерирано по-рано.
  • Тестването на RND функцията, като държим скобите празни, също ще ни даде случайно число.
  • Ако присвоим променливата като Integer, тогава ще получаваме само цели числа, които ще бъдат същите като 0 или 1.
  • Ако използваме двуцифрени числа като вход във функцията RND, то също така ще генерира случайното число.

Препоръчителни статии

Това е ръководство за случайния номер на VBA. Тук обсъждаме как да генерираме произволен брой в VBA Excel, използвайки RND функция, заедно с практически примери и шаблон за екзел за сваляне. Можете да разгледате и другите ни предложени статии -

  1. VBA InStr обясни с примери
  2. Тип данни на VBA Integer
  3. Как да изберете клетка с помощта на VBA код?
  4. Транспонирайте обхват в VBA

Категория: