Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1120to1124
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Neuberechnung Zufallszahlen unterbinden

Neuberechnung Zufallszahlen unterbinden
NoNet
Hallo VBA-Kenner,
hat jemand von euch einen Lösungsvorschlag für dieses Problem :
In einer Tabelle werden in mehreren Zellen (z.B: A5:B14) Zufallszahlen erstellt, z.B. so :
AB
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Funktionen im Tabellenblatt :
Zelle Formel 
A5   =WENN(ZEILE()-ZEILE(A$4)+(SPALTE(A$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
A6   =WENN(ZEILE()-ZEILE(A$4)+(SPALTE(A$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
A7   =WENN(ZEILE()-ZEILE(A$4)+(SPALTE(A$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
A8   =WENN(ZEILE()-ZEILE(A$4)+(SPALTE(A$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
A9   =WENN(ZEILE()-ZEILE(A$4)+(SPALTE(A$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
A10   =WENN(ZEILE()-ZEILE(A$4)+(SPALTE(A$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
A11   =WENN(ZEILE()-ZEILE(A$4)+(SPALTE(A$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
A12   =WENN(ZEILE()-ZEILE(A$4)+(SPALTE(A$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
A13   =WENN(ZEILE()-ZEILE(A$4)+(SPALTE(A$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
A14   =WENN(ZEILE()-ZEILE(A$4)+(SPALTE(A$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
B5   =WENN(ZEILE()-ZEILE(B$4)+(SPALTE(B$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
B6   =WENN(ZEILE()-ZEILE(B$4)+(SPALTE(B$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
B7   =WENN(ZEILE()-ZEILE(B$4)+(SPALTE(B$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
B8   =WENN(ZEILE()-ZEILE(B$4)+(SPALTE(B$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
B9   =WENN(ZEILE()-ZEILE(B$4)+(SPALTE(B$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
B10   =WENN(ZEILE()-ZEILE(B$4)+(SPALTE(B$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
B11   =WENN(ZEILE()-ZEILE(B$4)+(SPALTE(B$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
B12   =WENN(ZEILE()-ZEILE(B$4)+(SPALTE(B$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
B13   =WENN(ZEILE()-ZEILE(B$4)+(SPALTE(B$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 
B14   =WENN(ZEILE()-ZEILE(B$4)+(SPALTE(B$4)-1)*10<=$B$3;GANZZAHL(ZUFALLSZAHL()*($B$2-$B$1)+$B$1);"") 

Im Klassenmodul des Tabellenblattes werden die WERTE per Ereignismakro nach "Tabelle2" übertragen.
Damit beim Übertragen die Zufallszahlen nicht neu berechnet werden, wird der Berechnungsmodus temporär auf "manuell" umgestellt, am Ende wieder auf den zuvor gespeicherten Modus (standardmässig "Automatisch").
Leider werden aber genau bei DIESER Statusänderung (auf "automatisch") die Zufallswerte wieder neu berechnet :-( so dass sie nun nicht mehr mit den soeben übertragenen Werten übereinstimmen.
Private Sub Worksheet_Calculate()
Dim intCalc As Integer
Application.EnableEvents = False
intCalc = Application.Calculation
Application.Calculation = xlCalculationManual
Sheets("Tabelle2").[A5:B14].Value = [A5:B14].Value
Application.Calculation = intCalc 'Hier werden die Zufallszahlen neu berechnet
Application.EnableEvents = True
End Sub
Kennt jemand eine Möglichkeit, die Neuberechnung bei Statusänderung zu unterbinden ?
Das gleiche passiert auch wenn man per "Extras - Optionen - Berechung" die automatische Berechnung aktiviert, daher vermute ich, das lässt sich nicht umgehen !?!!? Die Neuberechnung sollte allerdings erst wieder bei Eingabe eines Wertes in die Tabelle oder eben per Taste F9 ausgelöst werden. Ein Ereignismakro (Worksheet_Change() etc. möchte ich dazu jedoch nicht verwenden).
Vielleicht hat von euch ja doch noch jemand eine gute Idee diesbezüglich ?
Danke, Gruß NoNet

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
keine 100% Lösung...
14.12.2009 18:29:35
Tino
Hallo,
Du kannst mal versuchen in der Tabelle mit der Zufallszahl die Berechnung auf manuell zu stellen.
Userbild
Allerdings werden andere Formeln auf dieser Tabelle auch nicht mehr berechnet.
Diese Einstellung steht beim erneuten öffnen der Datei wieder auf True.
Gruß Tino
Sonst geht wohl nur noch Setzen der...
14.12.2009 19:08:44
Luc:-?
...Zufallszahlen oder der Fmln dafür (mit anschl Ersetzen durch Werte) per VBA beim Mappe-Öffnen, NoNet,
aber das weißt du ja wohl... ;-)
Gruß Luc :-?
habe mal rumgespielt
14.12.2009 22:18:07
Tino
Hallo,
habe hier mal was zusammengebastelt mit einer Hilfstabelle, neu berechnen kannst Du mit F9.
https://www.herber.de/bbs/user/66595.xls
Gruß Tino
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige