habe eine Excel-Tabelle, in der im Bereich D30 bis I30 sechs Zufallszahlen (ZUFALLSBEREICH(1;49) erzeugt werden. Zusätzlich habe ich acht Excel-Formeln
( =WENN(....), die diese Zufallszahlen auf Erfüllung vorgegebener Kriterien überprüfen. Ist die Bedingung erfüllt, liefert die Zelle den Text "Okay".
Eine neunte Formel überprüft nun die Anzahl der erfüllten "Okay"-Felder und liefert, für den Fall, daß alle acht Felder "Okay" melden, den Wert "Gültig", bzw. "Ungültig",
wenn der Wert der Okay-Felder kleiner als 8 ist. Dieser Wert erscheint nun in
Feld F39.
Nach jedem Drücken der Taste F9 werden somit sechs Zufallszahlen erzeugt und in
Feld F39 steht ob diese Zahlen nun "Gültig"oder "Ungültig" sind.
Da man nun ganz schön oft F9 drücken muß, bis endlich "Gültig" erscheint, muß
ein Makro her.
Die Zufallszahlen könnte man erzeugen durch:
Sub ZufallszahlenErzeugen()
Dim Bereich As Range
Dim zelle As Range
Set Bereich=Range("D30:I30")
For Each zelle in Bereich
zelle.Value=Int((49 * Rnd) + 1)
Next zelle
End Sub
So weit, so gut. Aber jetzt bin ich auch schon am Ende. Das Makro soll ja nun nicht nur die Zahlen erzeugen, sondern überprüfen ob in Feld F39 "Gültig" steht.
Ist dies der Fall, sollen die Zahlen angezeigt werden, ganz normal wie wenn man
Taste F9 gedrückt hat. Steht aber "Ungültig" in F39, sollen sofort neue Zufalls-
zahlen erzeugt werden, solange bis "Gültig" erscheint.
Ich bin ziemlich VBA-unerfahren, vermute aber, daß die Erzeugung der Zufallszahlen
irgendwie in eine Schleife eingebunden werden muß, die F39 bei jedem Durchlauf
checkt und erst bei "Gültig" stoppt.