Wie verwende ich die Randomize-Anweisung in VBA?

In VBA (Visual Basic for Applications) wird die `Randomize`-Anweisung verwendet, um den Zufallszahlengenerator zu initialisieren, was wichtig ist, um unterschiedliche Zufallszahlenfolgen bei jedem Programmlauf zu erhalten. Ohne `Randomize` könnten die erzeugten Zufallszahlen bei jedem Ausführen des Codes gleich sein, da der Generator standardmäßig mit derselben Zahl initialisiert wird.

Hier ist ein einfaches Beispiel, wie du die `Randomize`-Anweisung verwenden kannst, um Zufallszahlen zu erzeugen:

Sub GenerateRandomNumbers()
    ' Initialisiere den Zufallszahlengenerator
    Randomize
    
    ' Erzeuge und zeige fünf Zufallszahlen zwischen 1 und 100
    Dim i As Integer
    For i = 1 To 5
        Dim randomNumber As Integer
        randomNumber = Int((100 - 1 + 1) * Rnd + 1) ' Zufallszahl zwischen 1 und 100
        Debug.Print randomNumber
    Next i
End Sub

Erklärung des Codes:

  • `Randomize` initialisiert den Zufallszahlengenerator mit einer Seed-Basis, die auf der Systemzeit basiert. Dies ist wichtig, um sicherzustellen, dass die Zufallszahlen bei jedem Ausführen des Codes unterschiedlich sind.
  • `Rnd` ist die Funktion, die eine Zufallszahl vom Typ Single zwischen 0 (einschließlich) und 1 (ausschließlich) zurückgibt.
  • `Int((max – min + 1) * Rnd + min)` wird verwendet, um zufällige Ganzzahlen in einem bestimmten Bereich (hier zwischen `min` und `max`) zu erzeugen.

Wenn du anstelle der aktuellen Systemzeit einen festen Startpunkt für die Zufallszahlenfolgen verwenden möchtest, kannst du einen bestimmten Seed-Wert an die `Randomize`-Anweisung übergeben, z.B. `Randomize 42`. Dies ist jedoch nur dann nützlich, wenn du wiederholbare Zufallszahlenfolgen für Testzwecke benötigst.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project