Excel VBA

... komplette Frage anzeigen

3 Antworten

Das muss an der random-Funktion liegen. Gibt es da einen next-Befehl oder ein randomize-Befehl?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von TenaciousDee
23.08.2012, 16:37

Next Befehle hab ich nicht drin... Ich möchte einfach das der, wenn die nächst-100ste Runde erreicht ist, die 4 zellen mit neuen werten überschreibt, und das dann wieder nach 100 runden und dann wieder usw..

0
Kommentar von Suboptimierer
23.08.2012, 16:37

Was steht denn jeweils in A4? Hast du schon einmal gedebuggt?

0

Mir fehlt ein Rückbezug zu [A4] und die Definition von A4
([A4] ist die kürzere µSchreibweise von Range("A4"), kann aber keine Formeln auswerten)
ausserdem: was soll der Addend ±0 ??
Und: [A4]/2+int([A4]/5+1) ergibt irgendwann ca 1. Kann es sein, dass das nicht mehr aus einem Wertebereich rauskommt, der immer dasselbe ergibt?
Int((3 - 0 + 1) ist 4, int(...) ist ü'flüssig. => 4*Rnd
Tipp: verwende Debug.Print Ausdruck1 & " <1 Ausdruck 2> " & Ausdruck2 zur Kontrolle, was Ausdruck 1 und 2 für Werte liefern. Das wird im "Direktfenster" protokolliert.
Kann beliebig zusammengesetzt und beliebig oft eingesetzt werden, auch mit Variablen, die sich verändern und mit Variablen/Laufzahlen, die den Kontext anzeigen!
Sehr hilfreich, wenn man wissen will, wie sich was entwickelt.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von TenaciousDee
24.08.2012, 08:01

A4 ist bei der nächsten Randomize ausführung immer größer als bei der vorangegangenen, deswegen kommt es aus dem Wertebereich raus. Der Addend +0 is Quatsch, da haste recht :)

Danke, hab bestimmt noch mehr Fragen bis mein Excel-Spiel endlich fertig ist..

0

Ich bin vielleicht ein Tro**** Das funktioniert alles so wie es soll, ich habe den Code bloss an der falschen Stelle eingegeben...

Danke trotzdem für eure Hilfe, ich hätte das sonst nicht rausgefunden :)

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?