Introduktion till VBA Random Number

I Excel har vi en funktion som heter RAND som används för att generera slumpmässiga nummer. Så eftersom vi har RND- funktion i VBA som används för att generera slumpmässiga nummer. RND-funktionen genererar siffror som är större än 0 men mindre än 1.

Syntax för slumpmässigt antal i Excel VBA

Syntaxen för funktionen Random Number excel VBA är som följer:

Vi kan se i syntaxen för RND-funktionen ovan, vi kan bara använda ett enda nummer som ingång.

Vi ger ingången i RND-funktionen på nedan tre sätt;

  1. Om vi ​​ger nummer <0, kommer det att generera samma nummer varje gång vi kör koden.
  2. Om vi ​​ger ett nummer som 0, kommer det att visa det senaste numret som genererades.
  3. Om vi ​​ger nummer> 0, kommer det att generera olika slumpmässiga nummer. Men det kommer att vara i följd.

Hur använder jag Excel-funktionen för slumpmässigt nummer?

Låt oss se exemplen på slumpmässigt nummer i Excel VBA.

Du kan ladda ner denna VBA Random Number Excel Mall här - VBA Random Number Excel Mall

Exempel 1 - VBA: s slumpmässiga nummer

Steg 1: Detta kan vi direkt tillämpa VBA. För detta går du till VBA-fönstret och öppnar en modul från Insert-menyn som visas nedan.

Steg 2: När vi gör det kommer vi att få ett fönster med modulen i VBA. I den modulen, skriv underkategori av VBA Random Number i samma namn eller i valfritt namn som du valde.

Koda:

 Sub RandomNumber () Slut Sub 

Steg 3: Välj nu ett ord eller alfabet och definiera det som en variabel och tilldela det dubbelt . Här överväger vi variabel Dim A och ger den till Double . Att välja dubbel istället för heltal kommer att vara användbart eftersom vi kommer att se decimalvärden som är mellan 0 och 1.

Koda:

 Sub RandomNumber () Dim A As Double End Sub 

Steg 4: Nu kommer vi att använda variabel A som vi definierade ovan och vi kommer att tilldela den en funktion Rnd för att generera slumpmässiga nummer som visas nedan.

Koda:

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

Steg 5: Som vi ser i ovanstående skärmdump har RND- funktionen syntaxen som nummer och det kommer att vara ett ensiffrigt nummer. Här kommer vi att se hur att ge ett tal mindre än 0 kommer att generera vad? Så inom parentes av RND-funktionen infogar -1 vilket är det senaste numret mindre än 0.

Koda:

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

Steg 6: Äntligen för att få utdata behöver vi referensen till cellen eller en meddelanderuta där den kommer att återspegla det slumpmässiga antalet. Sätt in Msgbox-kommandot för meddelandelådan och tilldela den definierade variabeln här.

Koda:

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

Steg 7: Nu kan vi sammanställa koden och köra den genom att klicka på uppspelningsknappen under menyfältet. Vi kommer att se det första genererade slumpmässiga antalet som är mindre än 0 vilket är 0.2240070104599 som visas nedan.

Om vi ​​igen kör koden kommer den att fortsätta generera samma kod om och om igen.

Exempel 2 - VBA: s slumpmässiga nummer

Vi har sett hur man skapar slumpmässiga nummer som är mindre än 0. Det finns ett annat sätt att få slumpmässiga nummer. I detta exempel genererar vi slumpmässigt antal genom att ge 0 som en ingång till RND- funktionen.

För detta kommer vi att använda samma kod som används i exempel-1.

Steg 1: Nu i stället för -1 som är mellan parenteserna i RND-funktionen sätta 0.

Koda:

 Sub RandomNumber () Dim A As Double A = Rnd (0) MsgBox A End Sub 

Steg 2: Vi kan sammanställa koden, om det behövs eller köra direkt genom att trycka på F5-tangenten (genvägsknappen) för att köra koden. Vi kan se att RND-funktionen har genererat samma nummer som genererades när vi gav input mindre än 0. Vilket innebär att om vi ger 0 som en ingångs RND-funktion kommer det att generera det tidigare genererade numret.

Och om vi kör koden igen så kommer den att fortsätta ge samma slumpmässiga nummer.

Exempel 3 - VBA: s slumpmässiga nummer

I det här exemplet ser vi vad som kommer att hända om vi ger ett värde större än 0. Vi kan välja att skriva ny kod eller så kan vi göra ändringarna i koden som vi har skrivit ovan. Låt oss överväga koden som vi har sett ovan.

Steg 1: Eftersom vi måste testa antal större än 0 så använd i RND-funktionen tomt och lägg till +1 för värden större än 1 som visas nedan.

Koda:

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

Steg 2: Kompilera koden om du vill och kör sedan koden. Vi ser att det slumpmässiga antalet genereras är annorlunda än antalet som genererades tidigare. Nedan visas skärmdumpen, som visar det slumpmässiga antalet är i fraktionen av 1.035 … .41 . Vilket är större än 0.

Om vi ​​kör samma kod igen, kommer vi att fortsätta få olika slumpmässiga nummer. Så vi fick precis efter att ha kört koden igen. Den här gången är de slumpmässiga siffrorna som vi fick det dubbla brytvärdet jämfört med det slumpmässiga antalet som genererats tidigare.

Fördelar med VBA: s slumpmässiga nummer

  1. Det verkar svårt men det är lätt att applicera.
  2. Detta är ganska användbart när vi arbetar med att generera biljettnummer slumpmässigt.
  3. Processen som visas i exempel 3 kan implementeras på många olika sätt.

Saker att komma ihåg

  • Detta kan implementeras via MS Excel-funktion också med funktionsnamnet RAND.
  • Vi testexemplet-2 först innan vi kör kod med exempel-2. Eftersom det faktiskt kommer att visa vad som var antalet som genererades tidigare.
  • Att testa RND-funktionen genom att hålla parenteserna tomma ger oss också ett slumpmässigt antal.
  • Om vi ​​tilldelar variabeln som heltal får vi bara hela siffror som kommer att vara samma som om 0 eller 1.
  • Om vi ​​använder tvåsiffriga nummer som inmatning i RND-funktion kommer det också att generera slumpmässigt antal.

Rekommenderade artiklar

Detta är en guide till VBA Random Number. Här diskuterar vi hur man genererar slumpmässigt nummer i VBA Excel med RND-funktion tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA InStr förklarade med exempel
  2. VBA heltal datatyp
  3. Hur väljer jag cell med VBA-kod?
  4. Transponera ett intervall i VBA

Kategori: