Excel VBA Randomize

VBA Randomize ist die Funktion, die zum Erstellen einer Zufallszahlenfunktion verwendet wird, die RND ist. Wir alle wissen, dass VBA RND für die Erstellung der Zufallszahlen verwendet wird, die hauptsächlich für die Abrechnung, das Erhöhen von Ticketnummern und viele Anwendungen verwendet werden. Hier wird VBA Randomize verwendet, um den Startwert zu ändern, den wir für die RND-Funktion eingeben. Zum besseren Verständnis verwenden wir die RND-Funktion, um die Zufallszahlen zu erhalten, und dann die Randomize-Funktion mit RND, um eine größere Auswahl an Zufallszahlen zu erhalten. Da es sich in der Saat ändert, wird der Eingabewert, um den die Ausgabe erfolgt, ebenfalls geändert. Das heißt, es werden die Zahlen gemäß der in der RND-Funktion angegebenen Startwerte generiert, und die generierte Zahl liegt im selben Bereich.

Das Wichtigste an VBA Randomize ist, dass es keine Syntax hat. Wir müssen es nur zusammen mit der RND- Funktion verwenden, die die anzuwendende Syntax hat.

Wie randomisiere ich eine Zahl in Excel VBA?

Im Folgenden finden Sie verschiedene Beispiele für die Zufallsgenerierung einer Excel-Zahl mithilfe der VBA-Rnd-Funktion.

Sie können diese VBA-zufällige Excel-Vorlage hier herunterladen - VBA-zufällige Excel-Vorlage

Excel VBA Randomize - Beispiel # 1

Es ist sehr einfach, benutzerdefinierte Zufallszahlen mit VBA Randomize zu erstellen. Führen Sie dazu die folgenden Schritte aus:

Schritt 1: Wechseln Sie zum VBA-Fenster, und wählen Sie auf der Registerkarte Einfügen die Option Modul aus (siehe Abbildung unten).

Schritt 2: Schreiben Sie nun die Unterkategorie von VBA Randomize oder verwenden Sie einen beliebigen Namen, um den VBA-Code zu definieren.

Code:

 Sub VBA_Randomize () End Sub 

Schritt 3: Definieren Sie nun eine Variable. Hier haben wir die Variable RNum als Datentyp Double betrachtet. Die Logik hinter der Verwendung von Double ist, dass wir geringfügige Änderungen bei den generierten Zufallszahlen erhalten. Double hilft uns, die Zahlen in Dezimalstellen zu sehen.

Code:

 Sub VBA_Randomize () Dim RNum As Double End Sub 

Schritt 4: Ordnen Sie nun die VBA RND- Funktion der definierten Variablen RNum zu .

Code:

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

Schritt 5: Um nun die Erzeugung von Zufallszahlen zu sehen, verwenden wir Debug.Print, das zum Drucken der Nachricht verwendet wird.

Code:

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

Schritt 6: Um die Wert- oder Zahlengenerierung anzuzeigen, öffnen Sie das Direktfenster über die Menüliste Ansicht. Oder wir können eine Tastenkombination wie Strg + G verwenden, um dieses Fenster zu erhalten.

Schritt 7: Kompilieren Sie nun den Code und führen Sie ihn aus, indem Sie auf die Schaltfläche Abspielen unterhalb der Menüleiste klicken. Wir werden die erste Zufallszahl im unmittelbaren Fenster sehen, wie unten gezeigt.

Und wenn wir den Code immer wieder mehrmals ausführen, sehen wir ein paar weitere Zufallszahlen.

Schritt 8: Wenn wir nun die Funktion Randomize before RND anwenden, ändert sich die Startwert-Eingabe, die die RND-Funktion erhalten hat.

Code:

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

Schritt 9: Führen Sie den Code erneut mehrmals aus, um zu sehen, welche Zahlen generiert werden.

So funktioniert die Randomize- Funktion in VBA, wenn sie mit der RND- Funktion verwendet wird.

Schauen wir uns noch ein paar Experimente mit derselben Codierung an. Wir werden jetzt die CInt-Funktion mit RND verwenden, die für die Datentypkonvertierung verwendet wird. Das heißt, es konvertiert die generierte Zufallszahl als Double in Integer.

Code:

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

Führen Sie jetzt den Code erneut aus. Wir werden sehen, jetzt werden die Zufallszahlen als Ganzzahlen generiert. Die Werte liegen jedoch im Bereich von 0 bis 1.

Wir haben bereits gesehen, dass die Werte zwischen 0 und 1 liegen, wenn wir weiterhin Double verwenden. Dies liegt daran, dass wir Randomize zusammen mit der RND-Funktion verwendet haben. Nun multiplizieren wir die RND-Funktion mit einer beliebigen Zahl. Sagen wir 20.

Code:

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

Führen Sie jetzt den Code erneut aus.

Jetzt ist die Szene geändert. Die generierten Zufallswerte sind größer als 0, aber kleiner als 20.

Excel VBA Randomize - Beispiel # 2

Es gibt eine andere Möglichkeit, um zu sehen, wie VBA Randomize funktioniert. Wir werden einige mathematische Formeln zusammen mit Randomize anwenden und sehen, wie das Randomisieren beim Generieren von Zufallswerten hilft. In diesem Beispiel wird die Ausgabe jedoch im Meldungsfeld angezeigt. Führen Sie dazu die folgenden Schritte aus:

Schritt 1: Schreiben Sie in ein Modul die Unterkategorie von VBA Randomize (siehe unten).

Code:

 Sub VBA_Randomize2 () End Sub 

Schritt 2: Betrachten Sie dieselbe Variable, die wir im letzten Beispiel als Ganzzahl definiert haben.

Code:

 Sub VBA_Randomize2 () Dim RNum As Integer End Sub 

Schritt 3: Wählen Sie jetzt hier die Randomize-Funktion aus, bevor Sie mit der Eingabe einer mathematischen Formel beginnen.

Code:

 Sub VBA_Randomize2 () Dim RNum As Integer Randomize End Sub 

Schritt 4: Betrachten Sie nun alle mathematischen Formeln wie Addition und Subtraktion gemäß Ihren Anforderungen (siehe unten).

Code:

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

Schritt 5: Verwenden Sie jetzt die RND-Funktion wie unten gezeigt.

Code:

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

Sie haben festgestellt, dass wir den größten Teil des allgemein verwendeten mathematischen Ausdrucks verwendet haben.

Schritt 6: Verwenden Sie nun Msgbox mit einer definierten Variablen, um die generierten Zufallszahlen anzuzeigen.

Code:

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

Schritt 7: Führen Sie nun den Code aus. Wir erhalten eine Zufallszahl als 234. Dies liegt daran, dass die Zahl mit (300-200 + 1) multipliziert und dann mit 200 addiert wird. Dies bedeutet, dass die Zufallszahl von Natur aus viel weniger ist und aufgrund der verwendeten mathematischen Ausdrücke auch Kommen als 234.

Und wir führen den Code erneut aus, es wird uns die Nachricht 294 geben .

Vorteile von Excel VBA Randomize

  • Wir können eine beliebige Zufallszahl zwischen beliebigen Bereichen erzeugen.
  • Da der Bereich begrenzt wird, gibt es jedoch keine Begrenzung für die Erzeugung von Zufallszahlen.
  • Wir können den Bereich der Zufallszahlengenerierung begrenzen, der größer als 0 wäre.

Dinge, an die man sich erinnern sollte

  • Randomize kann auch mit verschiedenen Funktionen verwendet werden. Wenn Sie dies jedoch mit der RND-Funktion verwenden, erhalten Sie das gewünschte Ergebnis.
  • Randomize gibt Zufallszahlen zwischen 0 und 1 an, wenn nur RND verwendet wird.
  • Wenn wir eine andere Zahl oder einen anderen mathematischen Ausdruck mit RND verwenden, wird Randomize generiert. Die Zufallszahlen zwischen dem höchsten Wert können generiert werden.
  • Sobald Sie fertig sind, speichern Sie die Datei im Macro Enable Excel-Format.
  • Randomize kann verwendet werden, wenn die Zufallszahlen generiert werden müssen, jedoch zwischen einigen Range-Seed-Eingaben.

Empfohlene Artikel

Dies ist eine Anleitung zu VBA Randomize. Hier erfahren Sie, wie Sie eine Zahl in Excel mithilfe von VBA-Code zufällig sortieren. Außerdem erhalten Sie praktische Beispiele und eine herunterladbare Excel-Vorlage. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Schreiben Sie eine Textdatei in Excel VBA
  2. Zufallszahlen in Excel generieren
  3. Excel VBA Variablendeklaration
  4. Excel Leading Zeros (Beispiele)

Kategorie: