Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
780to784
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
780to784
780to784
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wenn True dann Makro ausführen

Wenn True dann Makro ausführen
13.07.2006 12:14:44
Mister
Hallo!
ich stehe vor einem großen Problem. Ich möchte folgendes machen:
wenn meine Excel Datei geöffnet wird, soll am 3ten, 4ten und 5ten eines jeden Monats einen MsgBox erscheinen. Der Dateinutzer soll daraufhingewiesen werden, dass er spätestens am 5ten des Monats seinen Arbeitszeit-Bogen abgeben muss. Wenn er im MsgBox Ja klickt soll ein Makro ausgeführt werden. In Januar soll der Makro "EM-Jan" ausgeführt werden, im Februar "EM-Feb" usw. bis hin zu "EM-Dez" für Dezember. Bei Nein soll nichts passieren.
Wenn er Ja klickt, soll beim nächsten Öffnen der Datei den MsgBox nicht mehr erscheinen auch wenn der 5te des Monats noch nicht erreicht ist. Am nächsten 3ten des Monats soll das Ganze von Vorne losgehen.
Ist dieses Problem lösbar?

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn True dann Makro ausführen
13.07.2006 12:33:37
Mustafa
Hallo Mister B
füge folgenden Code mal in das Modul von "Diese Arbeitsmappe" und probiers mal aus.
Evtl. musst du noch die Makro namen von deinen Makros anpassen.
In Tabelle 1 Zelle A1 wird der Wert 1 gesetzt das musst du auch noch anpassen, weil es der Merker ist ob mit ja bestätigt wurde oder nicht.
Rückmeldung wäre nett.
Viele Grüße aus Köln
Sorry dieser Code
13.07.2006 12:37:36
Mustafa
Hallo Mister B

Private Sub Workbook_Open()
If Day(Now) < 3 And Day(Now) > 5 Then GoTo Frueher_Spaeter
If Worksheets(1).Range("A1") = 1 Then Exit Sub
Antwort = MsgBox("Spätestens am 5. des Monats deinen Arbeitszeit-Bogen abgeben", vbYesNo)
If Antwort = vbYes Then
Worksheets(1).Range("A1") = 1
Select Case (Month(Now))
Case 1
Call EM_Jan
Case 2
Call EM_Feb
Case 3
Call EM_Mar
Case 4
Call EM_Apr
Case 5
Call EM_Mai
Case 6
Call EM_Jun
Case 7
Call EM_Jul
Case 8
Call EM_Aug
Case 9
Call EM_Sep
Case 10
Call EM_Okt
Case 11
Call EM_Nov
Case 12
Call EM_Dez
End Select
End If
Exit Sub
Frueher_Spaeter:
Worksheets(1).Range("A1") = ""
End Sub

Viele Grüße aus Köln
Anzeige
AW: Wenn True dann Makro ausführen
13.07.2006 12:36:20
Mister
Eh.... welcher Code?
AW: Wenn True dann Makro ausführen
13.07.2006 16:42:43
Mister
An und für sich funktioniert's ganz gut aber mein Makro wird nur zur Hälfte ausgeführt
Hast du irgendwelche Ideen was die Ursache sein könnte?
AW: Wenn True dann Makro ausführen
13.07.2006 16:02:33
EtoPHG
Hallo Mister B,
Füge folgenden Code in ein Modul der Arbeitsmappe ein:

Option Explicit
'   Prüft ob Abgabe gemacht ist (Bis zum 5ten des Monats
'   Wenn nicht "Meldung Termin Erinnerung", bei OK wird als gemacht verbucht
Sub auto_open()
Dim tMonth As String
Dim tDocProp As String
Dim vAnswer As Variant
tMonth = Format(Now(), "MMM")
tDocProp = tMonth & "." & Trim(Str(Year(Now())))
On Error GoTo entry_does_not_exist
If ActiveWorkbook.CustomDocumentProperties(tDocProp) <> "" Or Day(Now()) > 5 Then
Exit Sub
End If
entry_does_not_exist:
vAnswer = MsgBox("Bitte bis spätesten 5ten " & tDocProp & " Arbeitszeit-Bogen abgeben !", vbOKCancel + vbExclamation, "Termin Erinnerung")
If vAnswer = vbOK Then
vAnswer = ActiveWorkbook.CustomDocumentProperties.Add(tDocProp, False, msoPropertyTypeString, "Abgabe am: " & Now())
Application.Run ("EM_" & tMonth)
ActiveWorkbook.Save
Else
Msgbox "Sie haben den Arbeitszeit-Bogen noch nicht abgegeben!", vbOKonly +  vbCritical, "Termin Erinnerung"
End If
End Sub
' Für jeden Monat ein Makro ....
Sub EM_Jan()
End Sub
Sub EM_Feb()
End Sub
etc..

In den Datei-Eigenschaften-Anpassen siehst Du die Einträge, wann eine Abgabe gemacht wurde.
Gruss Hansueli
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige