Einführung "VBA mit Microsoft Office"

Code Snippet "VBA allgemein"

Ganze Zufallszahlen erzeugen und Wahrscheinlichkeiten testen

'Allgemeine Zufallszahlen testen
Sub procZufallszahlenTesten()
  Const INT_UNTERGRENZE As Integer = -1
  Const INT_OBERGRENZE As Integer = 1
  Const LNG_ANZAHLLOOPS As Long = 100000
  
  Dim intCounter
  Dim intZahl As Single
  Dim intDifferenz As Integer
  Dim intMinusEins
  Dim intNull
  Dim intEins
  
  intDifferenz = INT_OBERGRENZE - INT_UNTERGRENZE + 1
  
  'Zufallsgenerator initialisieren
  Randomize
  
  'Wahrscheinlichkeit testen
  For intCounter = 1 To LNG_ANZAHLLOOPS
    intZahl = Int(Rnd() * intDifferenz + INT_UNTERGRENZE)
  
    Select Case intZahl
      Case -1
        intMinusEins = intMinusEins + 1
      Case 0
        intNull = intNull + 1
      Case 1
        intEins = intEins + 1
    End Select
  Next
  
  MsgBox ("Anzahl -1: " & FormatPercent(intMinusEins / LNG_ANZAHLLOOPS, 1) & vbCrLf & _
    "Anzahl  0: " & FormatPercent(intNull / LNG_ANZAHLLOOPS, 1) & vbCrLf & _
    "Anzahl  1: " & FormatPercent(intEins / LNG_ANZAHLLOOPS, 1) & vbCrLf)
End Sub