Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1000to1004
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

mehrere Zufallszahlen aus Bereich ohne Wiederholun

mehrere Zufallszahlen aus Bereich ohne Wiederholun
19.08.2008 22:05:38
Dieterlem
Hallo Excelfreunde,
ich suche eine VBA-Lösung für Zufallszahlen. Ich habe zwar einiges gefunden aber konnte ich es nicht nach meinen Anforderungen anpassen.
Ich will eine bestimmte Anzahl (per Variable veränderbar) von Zufallszahlen generieren (Ganzzahlen).
Dabei dürfen keine Wiederholungen vorkommen. Die Zufallszahlen müssen aus einem bestimmten Bereich stammen, die ebenfalls mit Variablen festgelegt werden sollen.
Die generierten Zufallszahlen sollen in einem Tabellenblatt angezeigt werden.
Beispiel:
13 Zufallszahlen als Ganzzahl aus dem Bereich 165 bis 498 ohne Wiederholung.
Gruß
Dieterlem

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrere Zufallszahlen aus Bereich ohne Wiederholun
19.08.2008 22:12:29
Ramses
Hallo
Dann schau dir mal die Funktion RND() in der Hilfe an, da ist unter anderm dieses beispiel
Rnd Function Example
This example uses the Rnd function to generate a random integer value from 1 to 6.
Dim MyValue
MyValue = Int((6 * Rnd) + 1) ' Generate random value between 1 and 6.
und auch dieses
Remarks
The Rnd function returns a value less than 1 but greater than or equal to zero.
The value of number determines how Rnd generates a random number:
For any given initial seed, the same number sequence is generated because each successive call to the Rnd function uses the previous number as a seed for the next number in the sequence.
Before calling Rnd, use the Randomize statement without an argument to initialize the random-number generator with a seed based on the system timer.
To produce random integers in a given range, use this formula:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
Um zu prüfen ob die generierte Zahl schon mal vorhanden ist, kannst du die FIND()-Methode auf deinen Tabellenzielbereich anwenden, bevor du die Zahl einträgst
Gruss Rainer

Anzeige
AW: mehrere Zufallszahlen aus Bereich ohne Wiederholun
19.08.2008 22:48:37
ransi
HAllo Dieter
KAnnst du das nachvollziehen ?
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit



Public Sub geht()
Dim arr() As Variant
Dim L As Long
Dim I As Long
Dim tmp As Variant
Dim V As Long
Dim Z As Long
Dim Oben As Long
Dim Unten As Long
Dim W As Long
W = 13 'Wieviel Elemente
Unten = 165 'Untergrenze
Oben = 495 'Obergrenze
Redim arr(Oben - Unten)
For L = Unten To Oben 'Array mit Werten füllen
    arr(V) = L
    V = V + 1
Next
'#########
Randomize
'#########
For I = 0 To UBound(arr) 'Array mischen
    Z = Int(UBound(arr) * Rnd)
    tmp = arr(Z)
    arr(Z) = arr(I)
    arr(I) = tmp
Next
Redim Preserve arr(W) 'Die ersten 13 Werte im Array behalten
'Ausgewben
Range("A1").Resize(UBound(arr)) = WorksheetFunction.Transpose(arr)
End Sub

ransi

Anzeige
AW: mehrere Zufallszahlen aus Bereich ohne Wiederholun
19.08.2008 23:17:19
Dieterlem
Hallo Ramses,
ich habe dein Vorschlag getestet. Es funktioniert so wie ich es mir vorgestellt habe. Auf diese Weise Zufallszahlen ohne Wiederholungen zu erzeugen ist sehr elegant.
Danke für deine Mühe.

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige