Clever-Excel-Forum

Normale Version: Rang ermitteln und nach Größe sortieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
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.
Das ist nun schon mehrfach crossgepostet. Fange nicht immer wieder neu an, und vor allem glaube nicht, dass wir das nicht merken.
crossgepostet ?

Ich versuche doch nur das Script immer weiter zu entwickeln, bis es schließlich fertig ist. Was soll denn da bitte schön schlecht bei sein ?

Und bei jedem neuen Schritt lerne ich dazu.
Hi.

So viele Zeilen haben ja die Code Alternativen nicht. Welche ist dir denn nicht herleitetbar.
Ich krieg einiges im Excel-Tabellenblatt hin, aber komischerweise funktioniert das nicht, wenn ich die gleichen Befehle im Makro eingebe. 
Deswegen brauch ich ja Eure Hilfe. Vielleicht lauten die Befehle da anders, oder Visual Basic kann sie nicht interpretieren.

Ich möchte auch nicht, daß jemand ein komplett anderes Script schreibt, weil ich meines weiterentwickeln will und die neuen Befehle im Makro kennenlernen will.
Wie jetzt die Anzahl der verschiedenen Werte ermitteln und dann die Sache mit der Einbindung des vorhandenen Scripts in eine Loop-Schleife. 
Ich hab da zwar ne Vorstellung, wie das aussehen soll, aber die exakten Formulierungen kenn ich eben nicht.