Rnd-Function mit F9 neu berechnen?



Excel-Version: Versionsunabhängig
nach unten

Betrifft: Rnd-Function mit F9 neu berechnen?
von: Riemac
Geschrieben am: 13.07.2002 - 20:42:08

Hallo,

ich möchte eine Zufallsfunktion schreiben, die genauso wie die Excel Funktion Zufallszahl() bei drücken der F9-Taste (Berechnen) einen neuen Zufallswert ausgibt.

Meine Function z.B.

Function RandomZahl()
RandomZahl=Rnd()
End Function

berechnet bei F9 leider keinen neuen Wert, daß muß doch aber gehen!

Kann mir jemand helfen?

Riemac


nach oben   nach unten

Wo ist da der Vorteil...
von: Ramses
Geschrieben am: 13.07.2002 - 21:33:31

Hallo,

deine Function macht genau das gleiche wie die EXCEL Funktion !?

Warum willst du das Rad neu erfinden.
Du musst so oder so die Funktion in die Zelle schreiben, und nur dann bewirkt F9 das einfügen bzw. neu berechnen einer Zufallszahl.

Das was du machen willst, erfordert das abfangen der Taste F9 und zuweisen zu einem Makro. Dieses Makro könnte dann eine Zufallszahl in die aktuelle Zelle schreiben.

Gruss Rainer


nach oben   nach unten

Re: Wo ist da der Vorteil...
von: Riemac
Geschrieben am: 14.07.2002 - 08:55:13

Hallo Rainer,

das mit der Function war nur ein einfaches Beispiel, ich will zufallsverteilte Aktienkurse mit einer Funktion erzeugen.

Das macht nur Sinn, wenn diese Kurse der Funktion dann in Excel über einen Tastendruck neu generiert werden können, am besten wie das bei der normeln Excel Funktion Zufallszahl() über F9 (calculate) geht.

Könntest Du mir helfen wie man das programmiert, eine Taste abzufangen?

Vielen Dank,

Riemac


nach oben   nach unten

Damit ist es nicht getan...
von: Ramses
Geschrieben am: 14.07.2002 - 11:06:32

Hallo,

... du musst natürlich unter "Extras-Optionen-Berechnen" die automatische Berechnung abschalten, sonst wird bei jeder Eingabe oder Änderung alle Zellen neu berechnet,... unabhängig ob du jetzt F9 betätigst oder nicht.

Wenn du aber F9 betätigst wird nur das Makro ausgeführt das dieser Taste jetzt zugeordnet ist.

Die Berechnung findet immer für die gesamte Tabelle statt.

Die entsprechende Anweisung für das abfangen der Taste findest du in der Hilfe unter "OnKey".

Sub Workbook_Open()
Application.OnKey "{F9}" "Dein Makro"
Exit sub

Gruss Rainer


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Rnd-Function mit F9 neu berechnen?"