31.05.2023, 20:41
(Dieser Beitrag wurde zuletzt bearbeitet: 01.06.2023, 06:30 von WillWissen.
Bearbeitungsgrund: Codetags gesetzt
)
Hallo,
habe folgendes Script:
Damit werden sechs Zufallszahlen aus vorher definierten Bereichen in die Zellen I70 - I75 geschrieben.
So weit, so gut.
Jetzt soll 1.) zusätzlich in Zelle I76 die Anzahl der verschiedenen Werte in obig genanntem Bereich eingetragen werden.
2.) Wenn der Wert ungleich 6 ist , d.h. daß mindestens eine Zahl doppelt vorkommt, soll der Rechner weiterrechnen, solange bis der Wert = 6 ist. Also eine Schleife / Loop, die dann
endet wenn I76 = 6 ist.
3.) Wenn I76 = 6 ist, sollen die Werte aufsteigend in die Zellen J70 - J75 eingetragen werden, also der kleinste in J70, der größte in J75.
Für Eure Mühe vielen Dank. Bitte denkt daran, daß kein komplett neues Script geschrieben werden soll, sondern das bereits vorhandene in die Loop-Schleife mit integriert und ergänzt werden soll,
sonst wird mir das zu kompliziert.
habe folgendes Script:
Code:
Sub Zufallszahl()
Dim rng As Range
Dim randomCell As Range
Dim randomNumber As Integer
' Bereich angeben
Set rng = Range("F70:F74")
' Zufällige Zelle aus dem Bereich auswählen
Set randomCell = rng.Cells(Int(rng.Cells.Count * Rnd + 1))
' Wert der zufälligen Zelle erhalten
randomNumber = randomCell.Value
' Zufällige Zahl 1 in Zelle I70 schreiben
Range("I70").Value = randomNumber
' Bereich angeben
Set rng2 = Range("F75:F81")
' Zufällige Zelle aus dem Bereich auswählen
Set randomCell = rng2.Cells(Int(rng2.Cells.Count * Rnd + 1))
' Wert der zufälligen Zelle erhalten
randomNumber = randomCell.Value
' Zufällige Zahl 2 in Zelle I71 schreiben
Range("I71").Value = randomNumber
' Bereich angeben
Set rng3 = Range("F82:F89")
' Zufällige Zelle aus dem Bereich auswählen
Set randomCell = rng3.Cells(Int(rng3.Cells.Count * Rnd + 1))
' Wert der zufälligen Zelle erhalten
randomNumber = randomCell.Value
' Zufällige Zahl 3 in Zelle I72 schreiben
Range("I72").Value = randomNumber
' Bereich angeben
Set rng4 = Range("F70:F84")
' Zufällige Zelle aus dem Bereich auswählen
Set randomCell = rng4.Cells(Int(rng4.Cells.Count * Rnd + 1))
' Wert der zufälligen Zelle erhalten
randomNumber = randomCell.Value
' Zufällige Zahl 4 in Zelle I73 schreiben
Range("I73").Value = randomNumber
' Bereich angeben
Set rng5 = Range("F89:F99")
' Zufällige Zelle aus dem Bereich auswählen
Set randomCell = rng5.Cells(Int(rng5.Cells.Count * Rnd + 1))
' Wert der zufälligen Zelle erhalten
randomNumber = randomCell.Value
' Zufällige Zahl 5 in Zelle I74 schreiben
Range("I74").Value = randomNumber
' Bereich angeben
Set rng6 = Range("F87:F97")
' Zufällige Zelle aus dem Bereich auswählen
Set randomCell = rng6.Cells(Int(rng6.Cells.Count * Rnd + 1))
' Wert der zufälligen Zelle erhalten
randomNumber = randomCell.Value
' Zufällige Zahl 6 in Zelle I75 schreiben
Range("I75").Value = randomNumber
End Sub
Damit werden sechs Zufallszahlen aus vorher definierten Bereichen in die Zellen I70 - I75 geschrieben.
So weit, so gut.
Jetzt soll 1.) zusätzlich in Zelle I76 die Anzahl der verschiedenen Werte in obig genanntem Bereich eingetragen werden.
2.) Wenn der Wert ungleich 6 ist , d.h. daß mindestens eine Zahl doppelt vorkommt, soll der Rechner weiterrechnen, solange bis der Wert = 6 ist. Also eine Schleife / Loop, die dann
endet wenn I76 = 6 ist.
3.) Wenn I76 = 6 ist, sollen die Werte aufsteigend in die Zellen J70 - J75 eingetragen werden, also der kleinste in J70, der größte in J75.
Für Eure Mühe vielen Dank. Bitte denkt daran, daß kein komplett neues Script geschrieben werden soll, sondern das bereits vorhandene in die Loop-Schleife mit integriert und ergänzt werden soll,
sonst wird mir das zu kompliziert.