Clever-Excel-Forum

Normale Version: Zufallszahl nach vorgegebener Zeit wechseln
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen.

Formel für eine Zufallszahl habe ich. =ZUFALLSZAHL()*(100-2)+2
Sie zeigt mir durch drücken von zB F9, Zahlen zwischen 2 und 100 an.

Jetzt möchte ich gerne das dies nicht mehr durch drücken einer Taste geschieht....sondern sich zB alle 15 Sekunden die Zufallszahl selber erneuert.

Ich finde da einfach nichts und wäre für jede Hilfe sehr dankbar.

Gruß Jürgen
Hallo Jürgen,

was soll dann überhaupt passieren und wozu?
Mittels VBA-Code könne man das schon hinbekommen, nur, wenn das Makro läuft geht nichts anderes mehr in der Datei - deshalb die vorstehende Frage.
Spiele Dart.
Möchte gern die mir vorgegebene Zahl mit 3 Wurf checken.
Nach ca.20 Sekunden sollte neue zufällige Zahl dort stehen.

Will nicht immer wieder F9 zB drücken.

Werfen...Monitor schauen...werfen. So sollte es laufen Smile
Hallo Jürgen,

hier mal ein Entwurf:



' **************************************************************
'  Modul:  DieseArbeitsmappe  Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************


Option Explicit

Private Sub Workbook_Deactivate()
 StartStop False
End Sub


' **************************************************************
'  Modul:  Modul1  Typ = Allgemeines Modul
' **************************************************************


Option Explicit

Sub StartStop(Optional AnAus As Variant)
 Static datZeit As Date
 If IsMissing(AnAus) Then
   If datZeit = 0 Then
     Tabelle1.Range("B2").Calculate
     datZeit = Now + TimeSerial(0, 0, 20)
     Application.OnTime EarliestTime:=datZeit, Procedure:="'StartStop True'"
   Else
     Application.OnTime EarliestTime:=datZeit, Procedure:="'StartStop True'", Schedule:=False
     datZeit = 0
   End If
 Else
   If AnAus = True Then
     Tabelle1.Range("B2").Calculate
     datZeit = Now + TimeSerial(0, 0, 20)
     Application.OnTime EarliestTime:=datZeit, Procedure:="'StartStop True'"
   Else
     If datZeit >= Now Then
       Application.OnTime EarliestTime:=datZeit, Procedure:="'StartStop True'", Schedule:=False
       datZeit = 0
     End If
   End If
 End If
End Sub

Sub Test()
 StartStop False
End Sub

Gruß Uwe