Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Zufallszahlen generieren, die sich nicht wiederholen

Gruppe

Zufall

Problem

Wie kann ich im Bereich A1:E5 Zufallszahlen von 1 bis 25 eintragen lassen, ohne daß diese sich wiederholen.

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: basMain

Sub Zufall()
   Dim rng As Range, rngAll As Range
   Dim iRandomize As Integer
   Set rngAll = Range("A1:E5")
   Randomize
   rngAll.ClearContents
   For Each rng In rngAll.Cells
      iRandomize = Int((25 * Rnd) + 1)
      Do Until WorksheetFunction.CountIf(rngAll, iRandomize) = 0
         iRandomize = Int((25 * Rnd) + 1)
      Loop
      rng.Value = iRandomize
   Next rng
End Sub