AW: Schleife hängt sich bei mehr als 7 Wiederholungen auf
daniel
Hi
1. die Dimensionierung als Byte ist nur Ausnahmefällen sinnvoll, nämlich wenn man sehr große Arrays hat und der Variablenspeicherplatz knapp wird. Für die Verarbeitungsgeschwindigkeit ist Byte langsamer als Int oder Long.
Das liegt daran, das moderne Prozessoren in der Regel 32 bit und damit eine Variable vom Typ Long in einem Prozessschritt verarbeiten können, und somit kleinere Einheiten nichts bringen.
2. in VBA muss man jeder Variablen den Typ einzeln zuweisen. Eine Gruppenzuweisung bringt nichts.
in der Zeile: Dim x, y, z As Byte wird nur z als Byte deklariert, x und y werden Variant.
um alle drei Variablen als Byte zu deklarieren, muss man das so schreiben: dim x as Byte, y as Byte, z as Byte
3. wenn man Rnd ohne Randomize verwendet, erhält man nach jedem Excelneustart immer die selben Zufallszahlen.
in VBA ist es so, die "Zufallszahlen" in einer Liste hinterlegt sind und dann der Reihe nach ausgebeben werden. Mit Randomize legt man fest, an welcher Stelle man in die Liste einsteigt.
daher sollte man zu beginn ein Randomize Timer verwenden, damit man immer an einer anderen Stelle der Liste beginnt und somit auch andere zufallszahlen bekommt
4. ganzzahlige Zufallszahlen lassen sich mittlerweile einfacher über Worksheetfunction.RandBetween(1, 45) ermitteln.
hier kann man Ober- und Untergrenze direkt eingeben und es muss nichts gerechnet werden. Außerdem wird kein Randomize benötigt.
Gruß Daniel