Excel VBA willekeurig maken

VBA Randomize is de functie die wordt gebruikt voor het maken van een willekeurige nummerfunctie die RND is. We weten allemaal dat VBA RND wordt gebruikt voor het maken van de willekeurige nummers die voornamelijk worden gebruikt voor facturering, het verhogen van ticketnummers en veel voor toepassingen zijn er. Hier wordt VBA Randomize gebruikt voor het wijzigen van de seedwaarde die we voeden voor de RND-functie. Voor een beter begrip gebruiken we de RND-functie om de willekeurige getallen te krijgen dan de functie Randomiseren met RND, die meer verschillende willekeurige getallen geeft. Omdat het verandert in de seed-invoerwaarde waardoor de uitvoer ook wordt gewijzigd. Wat betekent dat het de getallen genereert volgens de seed-invoer die wordt gegeven in de RND-functie en het gegenereerde getal zal in hetzelfde bereik liggen.

Het belangrijkste van VBA Randomize is dat het geen syntaxis heeft. We moeten het alleen gebruiken in combinatie met de RND- functie die de syntaxis heeft om toe te passen.

Hoe een getal willekeurig te maken in Excel VBA?

Hieronder staan ​​de verschillende voorbeelden om een ​​nummer in Excel te randomiseren met behulp van de VBA Rnd-functie.

U kunt deze VBA Randomize Excel Template hier downloaden - VBA Randomize Excel Template

Excel VBA Randomize - Voorbeeld # 1

Het is heel eenvoudig om willekeurige getallen aan te passen door VBA Randomize. Volg hiervoor de onderstaande stappen:

Stap 1: Ga naar het VBA-venster, selecteer onder het menutabblad Invoegen de module zoals hieronder getoond.

Stap 2: Schrijf nu de subcategorie van VBA Randomize of we kunnen elke naam gebruiken om de VBA-code te definiëren.

Code:

 Sub VBA_Randomize () Einde Sub 

Stap 3: Definieer nu een variabele. Hier hebben we de variabele RNum beschouwd als gegevenstype Double. De logica achter het gebruik van Double is dat we kleine wijzigingen in gegenereerde willekeurige getallen krijgen. Dubbel zal ons helpen om de cijfers in decimalen te zien.

Code:

 Sub VBA_Randomize () Dim RNum As Double End Sub 

Stap 4: Wijs nu de VBA RND- functie toe aan de gedefinieerde variabele RNum .

Code:

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

Stap 5: Nu om het genereren van willekeurige getallen te zien, gebruiken we Debug.Print die wordt gebruikt voor het afdrukken van het bericht.

Code:

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

Stap 6: Om de waarde of het genereren van getallen te zien, opent u het venster Direct in de menulijst Beeld. Of we kunnen een sneltoets gebruiken als Ctrl + G om dit venster te krijgen.

Stap 7: compileer nu de code en voer deze uit door te klikken op de knop Afspelen onder de menubalk. We zullen het eerste willekeurige nummer in een direct venster zien, zoals hieronder getoond.

En als we de code meerdere keren uitvoeren, zouden we nog een paar willekeurige getallen zien.

Stap 8: Als we Randomize before RND-functie toepassen, dan verandert het de seed-invoer die de RND-functie kreeg.

Code:

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

Stap 9: Voer de code opnieuw meerdere keren uit om te zien welke nummers worden gegenereerd.

Dit is hoe de Randomize- functie werkt in VBA indien gebruikt met de RND- functie.

Laten we nog wat meer experimenteren met dezelfde codering. We zullen nu de CInt-functie gebruiken met RND die wordt gebruikt voor de conversie van het gegevenstype. Wat betekent dat het gegenereerde willekeurige getal wordt omgezet in Double in gehele getallen.

Code:

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

Voer nu opnieuw de code uit. We zullen zien, nu worden de willekeurige getallen gegenereerd als gehele getallen. Maar de waarden liggen tussen 0 en 1.

We hebben al gezien dat als we de Double blijven gebruiken, de waarden tussen 0 en 1 kwamen. Dit komt omdat we Randomize samen met de RND-functie hebben gebruikt. Laten we nu de RND-functie met een willekeurig getal vermenigvuldigen. Laten we zeggen 20.

Code:

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

Voer nu opnieuw de code uit.

Nu is de scène veranderd. De gegenereerde willekeurige waarden zijn groter dan 0 maar kleiner dan 20.

Excel VBA Randomize - Voorbeeld # 2

Er is een andere manier om te zien hoe VBA Randomize werkt. We zullen enkele wiskundige formules toepassen samen met Randomiseren en kijken hoe we kunnen helpen bij het genereren van willekeurige waarden. Maar in dit voorbeeld zien we de uitvoer in het berichtvenster. Volg hiervoor de onderstaande stappen:

Stap 1: Schrijf in een module de subcategorie van VBA Randomize zoals hieronder getoond.

Code:

 Sub VBA_Randomize2 () Einde Sub 

Stap 2: Beschouw dezelfde variabele die we in het laatste voorbeeld hebben gedefinieerd, maar als Geheel getal.

Code:

 Sub VBA_Randomize2 () Dim RNum As Integer End Sub 

Stap 3: Selecteer nu de functie Randomiseren hier voordat we beginnen met het plaatsen van de wiskundige formule.

Code:

 Sub VBA_Randomize2 () Dim RNum As Integer Randomize End Sub 

Stap 4: Overweeg nu elke wiskundige formule zoals optellen, aftrekken volgens uw vereiste zoals hieronder weergegeven.

Code:

 Sub VBA_Randomize2 () Dim RNum As Integer Randomize RNum = Int ((300 - 200 + 1) End Sub 

Stap 5: Gebruik nu de RND-functie zoals hieronder getoond.

Code:

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

Je hebt gemerkt dat we het grootste deel van de wiskundige uitdrukking hebben gebruikt die meestal wordt gebruikt.

Stap 6: Gebruik nu Msgbox met een gedefinieerde variabele om de gegenereerde willekeurige getallen te zien.

Code:

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

Stap 7: Voer nu de code uit. We krijgen een willekeurig getal als 234. Dit komt omdat het getal wordt vermenigvuldigd met (300-200 + 1) en vervolgens wordt toegevoegd met 200. Wat betekent dat het willekeurige getal van nature minder is en vanwege de gebruikte wiskundige uitdrukkingen, komt als 234.

En we voeren de code opnieuw uit, het geeft ons het bericht als 294 .

Voordelen van Excel VBA Randomize

  • We kunnen elk willekeurig getal tussen elke gewenste reeks genereren.
  • Naarmate het bereik beperkt wordt, maar er is nog steeds geen limiet op het genereren van willekeurige getallen.
  • We kunnen het bereik van het genereren van willekeurige getallen beperken die groter dan 0 zou zijn.

Dingen om te onthouden

  • Randomiseren kan ook met verschillende functies worden gebruikt. Maar het gebruik hiervan met de RND-functie geeft het resultaat dat we nodig hebben.
  • Randomiseren geeft willekeurige getallen tussen 0 en 1 indien alleen gebruikt met RND.
  • Als we een ander nummer of wiskundige uitdrukking gebruiken met RND, wordt Randomize gegenereerd, de willekeurige getallen tussen de hoogste waarde kunnen worden gegenereerd.
  • Sla het bestand op in het excell-formaat Macro inschakelen.
  • Randomiseren kan worden gebruikt waar nodig om de willekeurige getallen te genereren, maar tussen sommige seed-invoerwaarden.

Aanbevolen artikelen

Dit is een handleiding voor VBA Randomize. Hier bespreken we hoe u een nummer in Excel kunt randomiseren met behulp van VBA-code, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Schrijf een tekstbestand in Excel VBA
  2. Genereer willekeurige getallen in Excel
  3. Excel VBA variabele verklaring
  4. Voorloopnullen in Excel (voorbeelden)

Categorie: