Excel VBA slumpmässigt

VBA Randomize är den funktion som används för att skapa slumpnummerfunktion som är RND. Vi vet alla att VBA RND används för att skapa slumpmässiga nummer som främst används för fakturering, höja biljettnummer och många för applikationer finns där. Här används VBA Randomize för att ändra frövärdet som vi matar för RND-funktionen. För bättre förståelse använder vi RND-funktionen för att få slumpmässiga nummer och sedan använda Randomize-funktionen med RND som ger mer variation av slumpmässiga nummer. När det förändras i fröinmatningsvärdet med vilket utgången också ändras. Vilket innebär att det kommer att generera siffrorna som per fröinmatning ges i RND-funktionen och antalet som genereras kommer att vara i samma intervall.

Det viktigaste med VBA Randomize är att det inte har någon syntax. Vi behöver bara använda den tillsammans med RND- funktionen som har syntaxen att tillämpa.

Hur man randomiserar ett nummer i Excel VBA?

Nedan följer de olika exemplen för att slumpmässiga ett tal i Excel med VBA Rnd-funktion.

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

Excel VBA Randomize - Exempel # 1

Det är väldigt lätt att skapa anpassade slumpnummer genom VBA Randomize. För detta följer du stegen nedan:

Steg 1: Gå till VBA-fönstret, under Infoga- menyfliken väljer du Modul som visas nedan.

Steg 2: Skriv nu underkategorin för VBA Randomize eller så kan vi använda valfritt namn för att definiera VBA-koden.

Koda:

 Sub VBA_Randomize () Slut Sub 

Steg 3: Definiera nu en variabel. Här har vi betraktat variabeln RNum som datatyp dubbel. Logiken bakom att använda Double är att vi får mindre ändringar i genererade slumpmässiga nummer. Dubbel hjälper oss att se siffrorna i decimaler.

Koda:

 Sub VBA_Randomize () Dim RNum As Double End Sub 

Steg 4: Tilldela nu VBA RND- funktionen till den definierade variabeln RNum .

Koda:

 Sub VBA_Randomize () Dim RNum As Double RNum = Rnd End Sub 

Steg 5: Nu för att se genereringen av slumpmässiga nummer kommer vi att använda Debug.Print som används för att skriva ut meddelandet.

Koda:

 Sub VBA_Randomize () Dim RNum As Double RNum = Rnd Debug.Print RNum End Sub 

Steg 6: För att se värdet eller nummergenerering, öppnar du omedelbart fönster från Visa-menylistan. Eller så kan vi använda en genvägsnyckel som Ctrl + G för att få det här fönstret.

Steg 7: Kompilera nu koden och kör den genom att klicka på knappen Spela under menyfältet. Vi kommer att se det första slumpmässiga numret i det omedelbara fönstret som visas nedan.

Och om vi kör koden, om och om igen, flera gånger, så skulle vi se några fler slumpmässiga nummer.

Steg 8: Nu om vi tillämpar Randomize före RND-funktion kommer det att ändra fröingången som RND-funktionen fick.

Koda:

 Sub VBA_Randomize () Dim RNum As Double Randomize RNum = Rnd Debug.Print RNum End Sub 

Steg 9: Kör igen koden flera gånger för att se vilka nummer som genereras.

Så här fungerar Randomize- funktionen i VBA om den används med RND- funktionen.

Låt oss se några fler experiment med samma kodning. Vi kommer nu att använda CInt-funktion med RND som används för datatypkonvertering. Vilket innebär att det kommer att konvertera det genererade slumpmässiga talet som dubbel till heltal.

Koda:

 Sub VBA_Randomize1 () Dim RNum As Double RNum = CInt (Rnd) Debug.Print RNum End Sub 

Kör nu igen koden. Vi ser att nu slumpmässiga siffror genereras som heltal. Men värdena ligger i intervallet 0 och 1.

Vi har redan sett, om vi fortsätter att använda Double, så kommer värdena att komma mellan 0 till 1. Detta beror på att vi använde Randomize tillsammans med RND-funktionen. Låt oss nu multiplicera RND-funktionen med valfritt nummer. Låt oss säga 20.

Koda:

 Sub VBA_Randomize1 () Dim RNum As Double RNum = CInt (Rnd * 20) Debug.Print RNum End Sub 

Kör nu igen koden.

Nu förändras scenen. De slumpmässiga värden som genereras är större än 0 men är mindre än 20.

Excel VBA Randomize - Exempel # 2

Det finns ett annat sätt att se hur VBA Randomize fungerar. Vi kommer att tillämpa någon matematisk formel tillsammans med Randomize och se hur man randomiserar hjälper till att generera slumpmässiga värden. Men i det här exemplet kommer vi att se utgången i meddelanderutan. För detta följer du stegen nedan:

Steg 1: Skriv en underkategori i VBA Randomize i en modul som visas nedan.

Koda:

 Sub VBA_Randomize2 () End Sub 

Steg 2: Tänk på samma variabel som vi definierade i det sista exemplet men som heltal.

Koda:

 Sub VBA_Randomize2 () Dim RNum Som heltal End Sub 

Steg 3: Välj nu Randomize-funktionen här innan vi börjar sätta matematisk formel.

Koda:

 Sub VBA_Randomize2 () Dim RNum Som heltal Randomize End Sub 

Steg 4: Tänk nu på varje matematisk formel som tillägg, subtraktion enligt ditt krav som visas nedan.

Koda:

 Sub VBA_Randomize2 () Dim RNum Som heltal Randomize RNum = Int ((300 - 200 + 1) End Sub 

Steg 5: Använd nu RND-funktionen som visas nedan.

Koda:

 Sub VBA_Randomize2 () Dim RNum Som heltal Randomize RNum = Int ((300 - 200 + 1) * Rnd + 200) End Sub 

Du har lagt märke till att vi har använt det mesta av det matematiska uttrycket som vanligtvis används.

Steg 6: Använd nu Msgbox med en definierad variabel för att se de genererade slumpmässiga siffrorna.

Koda:

 Sub VBA_Randomize2 () Dim RNum Som heltal Randomize RNum = Int ((300 - 200 + 1) * Rnd + 200) MsgBox RNum End Sub 

Steg 7: Kör nu koden. Vi får ett slumptal som 234. Detta beror på att antalet multipliceras med (300-200 + 1) och sedan läggs till med 200. Vilket innebär att slumpmässigt antal är ganska mindre till sin natur och på grund av använda matematiska uttryck är det kommer som 234.

Och vi kör koden igen, det kommer att ge oss meddelandet som 294 .

Fördelar med Excel VBA Randomize

  • Vi kan generera valfritt slumpmässigt antal mellan alla områden vi vill ha.
  • När intervallet blir begränsat men fortfarande finns det ingen gräns för genereringen av slumpmässiga nummer.
  • Vi kan begränsa intervallet för generering av slumpmässigt antal som skulle vara större än 0.

Saker att komma ihåg

  • Randomize kan också användas med olika funktioner. Men att använda detta med RND-funktion ger det resultat vi behöver.
  • Randomize ger slumpmässiga nummer mellan 0 och 1 om de används ensamma med RND.
  • Om vi ​​använder något annat nummer eller matematiskt uttryck med RND, kommer Randomize att genereras slumpmässiga siffror mellan det högsta värdet kan genereras.
  • När du är klar sparar du filen i Macro Enable excel-format.
  • Slumpmässigt kan användas där det behövs för att generera slumpmässiga siffror men mellan vissa intervall från utsäde.

Rekommenderade artiklar

Detta är en guide till VBA Randomize. Här diskuterar vi hur du randomiserar ett nummer i Excel med hjälp av VBA-kod tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Skriv textfil i Excel VBA
  2. Generera slumpmässiga nummer i Excel
  3. Excel VBA Variabel deklaration
  4. Excel ledande nollor (exempel)

Kategori: