Automatisierter Zeitablauf

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Automatisierter Zeitablauf
von: Chris
Geschrieben am: 03.07.2015 17:53:48

Liebes Forum,
ich habe folgendes Problem:
Ich habe in den letzten 5 Tagen eine Simulation in Excel erstellt. Diese Simulation lässt durch die Taste F9 ablaufen, in dem man durch Drücken der F9-Taste die Zeit um jeweils 10 Minuten nach vorne springen lässt. In der Simulation lasse ich einen gesamten Tag ablaufen, weshalb ich ein paar mal F9 drücken muss, bis ich bei 24 Stunden angelangt bin, was ein bisschen mühselig ist.
Wesentlich eleganter wäre es natürlich, wenn ich auf einen Start-Button drücken würde und die 10 Minuten Schritte würden automatisch in einer vorgegebenen Geschwindigkeit bis zur 24. Stunde weiterlaufen. Ich weiß leider nicht, wie ich das in VBA programmieren soll und verzweifel langsam.
Ich habe leider so gut wie keine VBA-Kenntnisse, habe mir schon sämtliche Forums-Beiträge durchgelesen und Videos angeschaut, jedoch bisher ohne Erfolg. (Datei im Anhang)
Vielen Dank vorab und liebe Grüße
Chris
https://www.herber.de/bbs/user/98624.xls

Bild

Betrifft: AW: Automatisierter Zeitablauf
von: Taro
Geschrieben am: 03.07.2015 18:20:19
Hallo,
gibt es bei der Datei noch etwas zu beachten? Bei mir läuft die nicht wie beschrieben.

Bild

Betrifft: AW: Automatisierter Zeitablauf
von: Christoph Jung
Geschrieben am: 03.07.2015 18:31:04
Hm, eig sollte es funktionieren.
Vllt hat sichs irgendwie aufgehangen, dann musst du auf den roten Reset Button klicken und danach auf den grünen Start-Button klicken und dann sollte es eig mit F9 funktionieren.
Wenn nicht, muss ich nochmal schauen wo der Fehler liegt. :/
Gruß
Chris

Bild

Betrifft: AW: Automatisierter Zeitablauf
von: Taro
Geschrieben am: 03.07.2015 18:46:02
Ne funktioniert bei mir nicht.
Aber ich kann mir vorstellen was passiert.
Füge in dein Tabellenblatt ein ActiveX Steuerelement ein, und zwar einen CommandButton.
Da du die Datumsauswahl eingefügt hast denke ich mal du weißt wie das geht ;-P
Auf den CommandButton doppel klicken und der VBA-Editor geht auf, du bist automatisch in der Prozedur für den Button, was passiert wenn man den anklickt.
da gibst du folgendes ein:

Private Sub CommandButton1_Click()
Dim i As Integer
For i = 1 To 144
    Application.Wait Now + TimeSerial(0, 0, 2) 
    Application.Calculate
next i
End Sub
So wie ich es verstanden habe musst du für 24h 144 mal klicken (24h * 60min)/10min?
Das ist eine For-to Schleife. Die läuft solange bis die Zahl i den Wert nach to erreicht hat. Die Zahl i wird durch next i automatisch hoch gezählt.
Bei jedem Durchlauf macht der Code das was du mit F9 machst, neu berechnen.
Beachte bitte:
Durch

Application.Wait ...
wartet das Programm vor jeder Neuberechnung 2 Sekunden. Wenn du das nicht möchtest einfach rauslöschen. Das entscheidende ist

Application.Calculate
Gruß
Taro

Bild

Betrifft: AW: Automatisierter Zeitablauf
von: AlexG
Geschrieben am: 03.07.2015 19:20:51
Hallo Christoph,
oder über die Sleep Funktion

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Start()
Dim i As Long
Range("D6").FormulaLocal = "=1"
    For i = 1 To 6 * 24
        Sleep 50 'Wartezeit in Millisekunden 
        Application.Calculate
    Next i
End Sub
Sub Reset()
Range("D6").FormulaLocal = "=0"
End Sub
Gruß
Alex

Bild

Betrifft: AW: Automatisierter Zeitablauf
von: Taro
Geschrieben am: 03.07.2015 19:22:18
Stimmt,
die 1 eintrage, das hatte ich ganz vergessen. SORRY!

Bild

Betrifft: AW: Automatisierter Zeitablauf
von: Chris
Geschrieben am: 04.07.2015 00:46:43
Danke für die super schnelle Beantwortung, mega cool. Endlich läuft´s! :D
Gruß Chris

Bild

Betrifft: Bitte, und danke für die Rückmeldung :-) owT
von: AlexG
Geschrieben am: 04.07.2015 06:17:29


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zugriff auf Access Datenbanken"