Anzeige
Archiv - Navigation
464to468
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
464to468
464to468
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Monatsreporting

Monatsreporting
11.08.2004 11:15:08
lotharP
Hallo Gesammelt,
möchte ein Makro schreiben, welches den Aufruf meines Reportings immer am Monatsanfang macht. Diese Makro soll Sam/son/Feiertage berücksichtigen!
Also Samstag ist der erste, Sonntag der zweite und Montag der dritte ein Feiertag. Start des Aufrufs also erst Dienstag der 4te.
Es müsste also täglich aus dem Excel autostart zunächst das Datum geprüft werden und entsprechend arbeiten. Nächstes Problem wäre dann natürlich, das Makro müsste beim nächsten Start wissen das der Report schon abgearbeitet ist.
Kann da jemand helfen?
Gruß
Lothar

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Monatsreporting
11.08.2004 11:42:02
Russi
Hallo Lothar!
Das mit dem Feiertag erscheint mir schwierig, aber davon mal abgesehen müsste es ungefähr so gehen:

Private Sub Workbook_Open()
' Prüfung: Erste 6 Tage im Monat und ein Dienstag?
If Day(Now) <= 6 And WeekDay(Now) = vbTuesday Then
Call ReportingMakro
End If
End Sub

Ist es das, was Du meinst?
Russi
www.Russi.de.tt
AW: Monatsreporting
11.08.2004 12:26:46
lotharP
Hallo Russi,
danke für die Antwort.
Das eigentliche Problem das dahintersteckt ist so leider noch nicht gelöst.
Ich hatte auch schon abgefragt ob das der Tag des Datums kleiner 4 ist, um somit den Monatsanfang einzugrenzen.
Probleme mit den Sam/sonntagen krieg ich wahrscheinlich auch noch geregelt, allerdings die Feiertage sugrenzen und dem System klar machen, wenn das Makro im Monat schon gelaufen ist, krieg ich nich geregelt.
Vieleicht fällt dir ja noch was ein?
Gruß
Lothar
Anzeige
AW: Monatsreporting
11.08.2004 12:34:38
Russi
Hi!
Was macht denn Dein Reporting-Makro genau?
Das einfachste wäre natürlich, wenn dieses Makro irgendwo in der Datei Werte einträgt, im Idealfall das aktuelle Tagesdatum des Reportings. Dies könntest Du ja ebenfalls im Workbook_Open abfragen.
Willst Du keine Eintragung in der Tabelle selber, könntest Du Dir bspw. auch benutzerdefinierte Dokumenteigenschaften anlegen und diese Abfragen bzw. per Makro die Inhalte verändern:
If CustomDocumentProperties("LetztesReporting").Value &lt Month(Now) then ...)
Russi
www.Russi.de.tt
AW: Monatsreporting
11.08.2004 12:54:01
lotharP
Hi Russi,
das Reporting Makro sind einige Makros die ich eigentlich über ein einfaches(einfach is jetzt auch witzig!) ;-) Autostartmakro aufrufen möchte.
Das heist es soll im Xlstartordner stehen, die zeitlichen Gegebenheiten abfragen und dann entscheiden ob die anderen Dateien jetzt geöffnet werden oder nicht.
Wie gesagt, die Problematik ist halt in erster Linie zu erkennen ob der systemtag der erste Arbeitstag im Monat ist oder nicht. Wenn es denn der erste Arbeitstag ist soll er nacheinander ca. 6 Dateien starten (Makros) die meinen Report ablaufen lassen.
Dort gibt es Dateien die werden aus einer Datenbank erzeugt in Excelsheets übertragen und dann automatisch verschickt. Das ganze hab' ich in einer Arbeitsmappe mit Startbuttons hinterlegt, soll aber wie gesagt "AUTOMATISCH" laufen.
Ich komm nur nicht weiter:
Hier meine verzweifelten Ansätze:
Public

Sub Monatsanfang()
Dim heutag As Date   'SYSTEMDATUM
Dim Mon As Integer   'MONAT VON SYSDAT
Dim wotag As Integer 'WOCHENTAG VON SYSDAT
Dim dtag As Integer  'MONATSTAG von Sysdat
heutag = Date
MsgBox (heutag)
wotag = weekday(heutag, vbMonday)
MsgBox (wotag)
Mon = month(heutag)
MsgBox (Mon)
dtag = Day(heutag)
MsgBox (dtag)
If dtag <= 4 Then Call pruef(month, heutag, dtag, wotag)
Else
End If
End Sub

Public

Sub pruef(month, heutag, dtag, wotag)
'hier will ich abprüfen ob das Makro schonmal gelaufen ist
End Sub

Gruß
lothar
Anzeige
AW: Monatsreporting
11.08.2004 13:12:07
Russi
Mit anderen Worten: Ist
1. das letzte Reporting länger als 20 (+/-?) Tage her und
2. ist Monatsanfang, kann man eigentlich davon ausgehen, dass wieder ein neues Reporting zu machen ist bzw. die 6 Dateien aufgerufen werden müssen.
Excel hat wie gesagt keine vorgefertigte Funktion, um Feiertage zu erkennen. Man kann diese zwar manuell eingeben bzw. teilweise mit Formeln ermitteln, aber ich denke, der Aufwand hierfür wäre unangemessen groß. Und, mal weitergedacht: Was ist bei Urlaub, Krankheit etc? Das erkennt Excel garantiert nicht.
Wenn Deine Excel-datei ausschließlich dazu da ist, dieses Makro auszuführen, würde ich bei jeder Ausführung des Makros am Ende noch eine Zeile einbauen:
ThisWorkbook.Sheets(1).Range("A1").Value = Date
Und am Anfang des gleichen Makros:
if ThisWorkbook.Sheets(1).Range("A1").Value &lt= Date-20 and day(month)&lt=4 then
'...hier beginnt der Aufruf der Dateien
end if
Russi
www.Russi.de.tt
Anzeige
AW: Monatsreporting
11.08.2004 13:30:43
lotharp
Hallo Russi,
leider trifft es das alles nicht so recht.
Darum gehts ja auch gerade URLAUB! Wenn ich Urlaub habe soll das Makro testen was für ein Tag ist und dann loslegen, weil reported wird auch wenn ich nicht da bin! (Das wär ja dann auch das tolle, ich müsste nicht da sein und der Report könnte laufen und meine Kollegen müssten keine Fragen stellen!)
O.K., auf jeden Fall bis hierher VIELEN DANK!
Neue Idee:
Eine Konstante müsste doch weiterhelfen?
Leider weiss ich nicht wie ich eine Konstante deklariere(hab' ich gerade versucht, klappt aber nicht)
Also ich stelle mir vor die Konstante wird vorbelegt mit 7, nun pruefe ich ob die Konstante kleiner als der systemmonat ist und wenn ja setze ich die Konstante auf acht und laß den Kram durchlaufen.
Kommen wir so weiter?
Sorry wenns langsam nervt, aber ich krieg das irgendwie nich auf die Reihe!
Dank dir nochmal und
Gruß
Lothar
Anzeige
AW: Monatsreporting
11.08.2004 13:43:59
Russi
Du nervst nicht, keine Sorge! ;-)
Konstanten werden bspw per "Public Const AktDatum as Date = "11.08.2004"" deklariert.
Ich denke nicht, dass Konstanten Dich hier unbedingt weiterbringen. Konstanten sind Variablen, die einen Wert zugewiesen bekommen und diesen Wert grundsätzlich auch dauerhaft behalten sollen während die Datei geöffnet ist.
Sinnvoller finde ich dann wirklich, den Monat/Tag/das Datum/wasauchimmer des durchgefügten Reportings entweder in der Tabelle der Datei oder in den Dateieigenschaften zu hinterlegen. Dort kann die Eintragung immer wieder abgefragt und entsprechend darauf reagiert werden, da die Eintragung dauerhaft gespeichert wird.
Ist das Einfachste. Oder mache ich da einen Denkfehler?
Russi
www.Russi.de.tt
Anzeige
AW: Monatsreporting
11.08.2004 13:55:49
Lotharp
Hallo Russi,
nein kein Denkfehler! Ich hab' jetzt gerade auch nochmal mit der Konstanten rumgepfuscht, das liefert auch nicht das was ich will.
Und die Lebensdauer einer Variablen ist auch nicht über den Prozedurablauf hinaus gegeben, soweit mir die Hilfe das verklickert hat.
Nun gut, dein Vorschlag das in eine der Mappen reinzuschreiben scheint hier der erfolgreichste und einfachste. Ich hab' mich halt nur verzweifelt dagegen gewehrt weil ich irgendwie der Ansicht war ich könnte mittels einer Var/Con irgendwo was festes setzen und darauf zurückgreifen, SCHADE!
Aber wie gesagt, vielen Dank nochmal und ich werd' jetzt mal da weiter arbeiten und hoffentlich zu einem annähernd richtigen Ergebnis kommen.
!
Machs gut und bis zur nächsten Frage ! ;-))
Gruß
Lothar
Anzeige
Dann viel Glück ;-) oT
11.08.2004 14:02:01
Russi
AW: Monatsreporting
IngoG
Hallo Lothar,
schau Dir mal das auto_open Macro zu folgender Datei an.
hier wird beim Starten der Datei das Macro MACRO1 am ersten Arbeitstag gestartet und zwar genau einmal.
https://www.herber.de/bbs/user/9524.xls
Vielleicht hilft Dir das ja weiter...
Solltest Du Fragen dazu haben kann ich Dir vielleicht morgen weiterhelfen, einfach nochmal melden
Gruß Ingo
AW: Monatsreporting
12.08.2004 10:30:56
lotharp
Hallo Ingo,
sorry ich hab' das jetzt erste gesehen das du dich mit eingeklingt hattest!
Zunächst auch Danke für deine Hilfe.
Ich hab's mir kurz angeschaut und werde es mal gegen das bis jetzt erreichte testen.
Das was ich mit Hilfe von Russi jetzt schon hinbekommen habe ist schon fast zufriedenstellend, wobei du ja schon noch die Feiertage irgendwie einbindest?
Ist das eine "Fertigdatei" oder mußt du die selbst erstellen?
Kannst du die vieleicht mal mit hochladen?
Danke und Gruß
Lothar
Anzeige
ist schon dabei..
IngoG
Hallo Lothar,
wenn Du über format / Blatt / einblenden gehst kannst Du Dir das Blatt anschauen...
habs nur zur sicherheit ausgeblendet.
Gruß Ingo
AW: ist schon dabei..
12.08.2004 15:50:42
lotharp
Hallo Ingo,
vielen Dank.
Ich schau nachher mal rein!
Bis dahin
Gruß
Lothar

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige