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 SubDamit 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.

 
 

 
