Announcement

Collapse
No announcement yet.

Einschaltverzögerung (Timer) in VBA programmieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Einschaltverzögerung (Timer) in VBA programmieren

    Hallo,

    ich möchte gerne eine Einschaltverzögerung in Excel VBA programmieren, weiß aber nicht wie! Kann mir jemand weiter helfen?

    Aufgabenstellung: Ich möchte mit einer Boolschen Variable eine zeitverzögerte Aktion aus führen. Dabei soll aber nicht das ganze Programm an der Zeitverzögerungsstelle stehen bleiben, sondern weiter laufen.

    Beispiel: Es soll ständig überprüft werden, ob die Bedingung für den Start des Timers noch gegeben ist, wenn ja soll der Timer weiter laufen, wenn nicht gestoppt (bzw. zurück gesetzt) werden. Wenn der Timer abgelaufen ist, soll eine spezielle Funktion ausgeführt werden.

    Danke für Tips und Vorschläge

  • #2
    Irgendwie würd ich die Logik mal überdenken:

    ob die Bedingung für den Start des Timers

    wenn ja soll der Timer weiter laufen

    Starten oder weiterlaufen? Wann erfolgt ein Start?

    Ein Timer wird zyklisch aufgegrufen und verzweigt dann in eine entsprechende Funktion.

    Insofern kannst du ev. mit zwei Timern arbeiten.

    Der erste überprüft regelmäßig deine Bedingung. Wenn diese erfüllt ist startet er einen zweiten Timer der einmalig läuft und nach dessen Ablauf etwas passiert

    Was soll mit Excel verzögert eingeschaltet werden?
    Zuletzt editiert von Christian Marquardt; 23.10.2009, 07:48.
    Christian

    Comment


    • #3
      Vielleicht hab ich mich da unklar ausgedrückt.

      Ich benötige einen Timer, der nur dann läuft wenn die Einschaltbedingung True ist. Wenn die Einschaltbedingung des Timers vor Ablauf der Verzögerungszeit auf Fals wechselt, soll der Timer gestoppt (zurückgesetzt) werden.
      Nur wenn die Einschaltbedingung True ist und die Verzögerungszeit des Timers abgelaufen ist, dann soll eine spezielleFunktion ausgeführt werden.

      Also, eine ganz normale Einschaltverzögerung (so wie ein elektronisches Zeitrelais).

      Ich habe es bereits mit Application.Wait Now + TimeValue("00:00:03") probiert, aber da habe ich das Problem, das die ganze Applikation für die Zeitverzögerungszeit stehen bleibt!
      Was soll mit Excel verzögert eingeschaltet werden?
      Ich möchte die Simulation einer Steuerung erstellen.

      Comment


      • #4
        Einen Timer über Zeit X. Nach Ablauf der Zeit wird die Funktion des Timers aufgerufen. Diese prüft, die Bedingung und bricht ggf. ab und startet neu
        Christian

        Comment


        • #5
          Ist das jetzt ne Frage?

          Comment


          • #6
            Wo siehst du eine Frage?
            Christian

            Comment


            • #7
              Es gibt eine Klasse die nennt sich Timer und diese ruft nach Ablauf einer bestimmten Zeit eine Funktion auf.
              Diesen kannst Du starten, stoppen und auch zurücksetzen auf 0. Damit müsstest Du Dein Problem ganz einfach umsetzen können.

              Hier findest du bestimmt was.

              Comment

              Working...
              X