Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bestimmtes Makro beenden

Bestimmtes Makro beenden
15.05.2014 17:17:30
Ben
Hallo Zusammen :)
ich habe mal wieder eine Frage.
Folgende Aufgabe stellt sich mir gerade.
Ich habe eine Tabelle erstellt, in der stündlich neue Daten gezogen werden. (Immer 10 Minuten nach einer vollen Stunde. Also 3:10; 4:10; 5:10 usw.) Das mache ich wie folgt.
DieseArbeitsmappe

Private Sub Workbook_Open()
Call startenm
End Sub

Modul 1

Sub startenm()
Application.OnTime TimeValue("17:10:00"), "Tabelle1.data16"
Application.OnTime TimeValue("18:10:00"), "Tabelle1.data17"
Application.OnTime TimeValue("19:10:00"), "Tabelle1.data18"
Application.OnTime TimeValue("20:10:00"), "Tabelle1.data19"
Application.OnTime TimeValue("21:10:00"), "Tabelle1.data20"
Application.OnTime TimeValue("22:10:00"), "Tabelle1.data21"
Application.OnTime TimeValue("23:10:00"), "Tabelle1.data22"
End Sub

Aus dieser Tabelle habe ich 3 Charts erstellt auf jeweils einem Sheet.
Chart
Chart_2
Chart_3

Diese 3 Charts lasse ich jede Minute wechseln um sie auf einem Monitor anzeigen zu lassen.
Das mache ich wie folgendermaßen.
Sub rochar1()
Windows("datei.xlsm").Activate
Sheets("Chart").Select
Application.OnTime Now + TimeValue("00:01:00"), "rochar2"
End Sub
Sub rochar2()
Windows("datei.xlsm").Activate
Sheets("Chart_2").Select
Application.OnTime Now + TimeValue("00:01:00"), "rochar3"
End Sub
Sub rochar3()
Windows("datei.xlsm").Activate
Sheets("Chart_3").Select
Application.OnTime Now + TimeValue("00:01:00"), "rochar1"
End Sub
Vielleicht gibt es hier eine einfachere Variante. Mir ist leider nichts besseres eingefallen :)
Jetzt zu dem eigentlichen Problem, bei dem ich nicht weiter komme.
Ich möchte per Schaltfläche die Rotation "Starten" bzw. "Beenden".
Also ich drücke z.B. die erste Schaltfläche und die Rotation der Charts wird deaktiviert. Zum aktivieren der Rotation würde dann eine zweite Schaltfläche vorhanden sein, die sie wieder startet.
Wenn ich jetzt aber die Schaltfläche zum "Beenden" drücke, soll lediglich die Rotation der Charts stoppen. Das stündliche aktualisieren der Tabelle soll weiterhin durchlaufen.
So eine Art Rotation On/Off Button.
Habt ihr eventuell eine Idee wie ich das Problem lösen könnte?
Vielen Dank fürs Lesen
Gruß
Ben

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmtes Makro beenden
15.05.2014 18:05:27
Daniel
Hi
um ein per Application.Ontime gestartetes Makro wieder zurückzurufen, verwendest du den selben Befehl (Application.Ontime), allerdings mit dem zusätzlichen Parameter Schedule:=False
du musst hierbei darauf achten, dass die Zeit auch die selbe ist, mir der du das Makro gestartet hast, daher sollte man diese Werte in einer Variablen speichern.
Option Explicit
Dim nextTime As Date
Dim nextSub As String
Sub rochar1()
Windows("datei.xlsm").Activate
Sheets("Chart").Select
nextTime = Now + TimeValue("00:01:00")
nextSub = "rochar2"
Application.OnTime nextTime, nextSub
End Sub
Sub rochar2()
Windows("datei.xlsm").Activate
Sheets("Chart_2").Select
nextTime = Now + TimeValue("00:01:00")
nextSub = "rochar3"
Application.OnTime nextTime, nextSub
End Sub
Sub rochar3()
Windows("datei.xlsm").Activate
Sheets("Chart_3").Select
nextTime = Now + TimeValue("00:01:00")
nextSub = "rochar1"
Application.OnTime nextTime, nextSub
End Sub
zum Stoppen nimmst du dann diesen Code:
Sub RotationStoppen()
Application.OnTime nextTime, nextSub, schedule:=False
End Sub
Gruß Daniel

Anzeige
AW: Bestimmtes Makro beenden
15.05.2014 18:26:47
Ben
Vielen Dank!
Funktioniert super :) Genau so meinte ich das. :)
LG
Ben
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige