30.05.2023, 23:23
(Dieser Beitrag wurde zuletzt bearbeitet: 01.06.2023, 06:28 von WillWissen.
Bearbeitungsgrund: Codetags gesetzt
)
Hallo,
zunächst mal Dank an diejenigen, die mir bisher schon geholfen haben. Das ging fix und zeigt mir, daß hier wirklich Leute am Werk sind, die Ahnung von der Materie haben.
Ich selbst bin blutiger Anfänger und schuster mir alles mühsam zusammen.
Dank Eurer Hilfe habe ich folgendes Script hinbekommen:
Damit werden 6 Zufallszahlen aus vorher definierten Bereichen generiert, die in die Zellen I70 bis I75 geschrieben werden. Dabei können aber Zahlen doppelt vorkommen, was nicht erwünscht ist.
Im Tabellenblatt kann ich in der Spalte daneben ,also von J70 bis J75 jeweils den Rang ermitteln und dann mit der Formel SUMME(J70:J75) in Zeile J76 feststellen, ob eine oder mehreren Zahlen doppelt vorkommen.
Ist die Summe 21, kommt keine Zahl doppelt vor.
Wie bewerkstellige ich nun im Makro, daß wenn ich auf den Button klicke, im Falle, daß die Summe ungleich 21 ist, weiter gerechnet wird, bis die Summe 21 ist ? Das müßte wohl mit der Funktion Loop gehen, oder?
Bin aber Anfänger und hab nur unzureichende Kenntnisse wie man die Loop-Funktion in das Makro integriert.
Und dann ist da noch ein Problem: Wenn geklärt ist, daß es wirklich sechs unterschiedliche Zahlen sind, also die Summe der Rangwerte 21 beträgt, müßten die sechs Zahlen aufsteigend sortiert werden und dann
in die Zellen "Berechnungen!E30" bis "Berechnungen!J30" geschrieben werden.
Wäre echt super, wenn das einer hinkriegt.
Dank im vorhinein für Eure Mühe.
zunächst mal Dank an diejenigen, die mir bisher schon geholfen haben. Das ging fix und zeigt mir, daß hier wirklich Leute am Werk sind, die Ahnung von der Materie haben.
Ich selbst bin blutiger Anfänger und schuster mir alles mühsam zusammen.
Dank Eurer Hilfe habe ich folgendes Script hinbekommen:
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 6 Zufallszahlen aus vorher definierten Bereichen generiert, die in die Zellen I70 bis I75 geschrieben werden. Dabei können aber Zahlen doppelt vorkommen, was nicht erwünscht ist.
Im Tabellenblatt kann ich in der Spalte daneben ,also von J70 bis J75 jeweils den Rang ermitteln und dann mit der Formel SUMME(J70:J75) in Zeile J76 feststellen, ob eine oder mehreren Zahlen doppelt vorkommen.
Ist die Summe 21, kommt keine Zahl doppelt vor.
Wie bewerkstellige ich nun im Makro, daß wenn ich auf den Button klicke, im Falle, daß die Summe ungleich 21 ist, weiter gerechnet wird, bis die Summe 21 ist ? Das müßte wohl mit der Funktion Loop gehen, oder?
Bin aber Anfänger und hab nur unzureichende Kenntnisse wie man die Loop-Funktion in das Makro integriert.
Und dann ist da noch ein Problem: Wenn geklärt ist, daß es wirklich sechs unterschiedliche Zahlen sind, also die Summe der Rangwerte 21 beträgt, müßten die sechs Zahlen aufsteigend sortiert werden und dann
in die Zellen "Berechnungen!E30" bis "Berechnungen!J30" geschrieben werden.
Wäre echt super, wenn das einer hinkriegt.
Dank im vorhinein für Eure Mühe.