Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1608to1612
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

application ontime nicht am Wochenende

application ontime nicht am Wochenende
18.02.2018 16:22:40
Bernd
Hallo Excel-VBA Gemeinde!
Ich bräuchte bitte ein paar Zeilen VBA Code von Euch.
Ich möchte ein Makro mit dem Namen Timer mit einem Application.Ontime-Befehl nicht mehr am Wochenende bzw. nicht mehr an Feiertagen ausführen, ansonsten aber an jedem anderen Tag.
Zur Zeit verwende ich folgenden einfachen Code:
Application.Ontime TimeValue("17:00:00"), "Start_Makro"
Zur Zeit rufe ich am Ende eines Makros "Start_Makro" mit dem Befehl call "Timer" mein Makro mit dem Namen "Timer" auf, damit am nächsten Tag zu einer bestimmten Uhrzeit das Marko "Start_Marko" wieder startet. Da das auch am Wochenende passiert, führt das dann aber zu Fehlermeldungen.
Eine erste Verbesserung wäre also, wenn am Freitag das Makro call Timer so programmiert wäre, dass das Makro "Start_Makro" erst am Montag um 17:00:00 wieder startet.
Die Krönung wäre dann noch, wenn ich zusätzlich auch an Feiertage, die ich mit Variablen von Feiertag_1 bis Feiertag_10 für das Jahr 2018 von Hand definieren würde, auch an diesen Tagen das Makro dann nicht mehr ausgeführt werden würde.
Vielen Dank vorab für Eure Hilfe...
Ich hoffe, ihr könnt mir helfen...

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: application ontime nicht am Wochenende
18.02.2018 16:24:13
Hajo_Zi
überprüfe im Makro "Start_Makro" den Tag, Du hast ja in der Datei eine Tabelle mit den Feiertagen.

AW: application ontime nicht am Wochenende
18.02.2018 16:38:34
Bernd
Hallo Hajo,
ich vermute, dass ich folgendes programmieren soll:
If Tag_aktuell = Freitag (wie Frage ich im Makro ab, ob das Datum ein Freitag ist?), then
call Timer erst am Montag (wie sage ich im application ontime befehl, dass er erst in drei Tagen wieder das Makro starten soll, irgendwie mit Tag_aktuell + 3?
Bei den Feiertagen wird es ja noch komplizierter...oder ich stehe auf dem Schlauch...
AW: application ontime nicht am Wochenende
18.02.2018 16:42:48
Hajo_Zi

Du willst ja Wochende ausschließen.
MsgBox Weekday(Date, 2) > 5
Feiertage benutze Find.
Set Rafound1 = Columns(1).Find(cdbl(Date), Range("A" & Rows.Count), xlFormulas, _
xlWhole, , xlNext)
If Not Rafound Is Nothing Then

Gruß Hajo
Anzeige
AW: application ontime nicht am Wochenende
18.02.2018 16:48:22
Bernd
Hallo
o.k - vielen Dank, den Rest sollte ich dann alleine hinbekommen...
AW: application ontime nicht am Wochenende
18.02.2018 16:51:34
Sepp
Hallo Bernd,
Sub startMakro()
Dim nextRun As Date, varHolidays As Variant

varHolidays = Array("1.1.2018", "6.1.2018", "1.4.2018", "2.4.2018") 'Feiertage 

nextRun = Date + 1

Do While Weekday(nextRun, vbMonday) > 5 Or IsNumeric(Application.Match(CStr(nextRun), varHolidays, 0))
  nextRun = nextRun + 1
Loop

Application.OnTime nextRun + TimeValue("17:00:00"), "Start_Makro"
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0

Gruß Sepp

Anzeige
AW: application ontime nicht am Wochenende
18.02.2018 17:02:14
Bernd
Hallo Sepp,
super, vielen Dank!!
Bernd

54 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige