Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1860to1864
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

Erinnerung Zeitablauf

Erinnerung Zeitablauf
04.01.2022 15:02:50
MRH
Guten Morgen und guten Start ins neue Jahr.
Ich hatte Ende November eine Frage gestellt, die mir gut beantwortet wurde.
Ich konnte leider nicht darauf antworten, da ich den ganzen Dezember außer Gefecht war. Danke dennoch an Rudi Maintare.
Der Code lautete:
In der Arbeitsmappe:

Private Sub Workbook_Open()
Worksheets("Termine").Activate
'Application.OnTime Now + TimeSerial(0, 1, 0), "Msg"
UserForm1.Show
End Sub
Im Modul:
'Sub Msg()
'MsgBox Application.UserName & ", sind Sie mit der Betrachtung/Eingabe fertig? Falls Sie fertig sind, schließen Sie die Datei bitte damit weitere Nutzer darin arbeiten können. Danke.", vbQuestion, "TerminlisteWBM - Haben Sie vergessen die Datei zu schließen?"
'End Sub
Folgendes Problem muss ich jedoch noch aus der Welt schaffen.
Habe ich neben der Xlsm, in der dieser Code enthalten ist eine weitere Xlsm offen und schließe erstere während ich die zweite weiterhin offen lasse, öffnet sich die erste erneut mit der Meldung lt. MsgBox.
Wie kann ich das verhindern?
Dank im Voraus.

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

Betreff
Datum
Anwender
Anzeige
AW: Erinnerung Zeitablauf
04.01.2022 16:01:50
Rudi
Hallo,
das musst du beim Schleißen der Mappe abschalten.

Option Explicit
Dim myTime
Private Sub Workbook_Open()
Worksheets("Termine").Activate
myTime = Now + TimeSerial(0, 1, 0)
Application.OnTime myTime, "Msg"
UserForm1.Show
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime myTime, "Msg", False
End Sub
Gruß
Rudi
AW: Erinnerung Zeitablauf
05.01.2022 06:35:00
MRH
Hallo,
da war ich leider zu ungenau. Der ursprüngliche Code beinhaltet das, führt jedoch auch zu dem beschriebenen Problem.
Nochmal der ganze Code:
In "diese Arbeitsmappe"

private Sub Workbook_Open()
Worksheets("Termine").Activate
'STARTMSG = Now + TimeSerial(0, 1, 0)
'Application.OnTime STARTMSG, "Msg"
''Application.OnTime Now + TimeSerial(0, 1, 0), "Msg"
UserForm1.Show
End Sub
'Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Application.OnTime STARTMSG, "Msg", False
'End Sub
Hier habe ich nur bei False das zweite Komma entfernt, da sonst der Code nicht läuft.
in "Modul 1"

Sub Schaltfläche2_Klicken()
UserForm1.Show
End Sub
in "Modul 2"

'Sub Msg()
'MsgBox Application.UserName & ", sind Sie mit der Betrachtung/Eingabe fertig? Falls Sie fertig sind, schließen Sie die Datei bitte damit weitere Nutzer darin arbeiten können. Danke.", vbQuestion, "TerminlisteWBM - Haben Sie vergessen die Datei zu schließen?"
'End Sub
in "Modul 3"

'Option Explicit
'Public STARTMSG
Das ist natürlich jetzt durch "'" deaktiviert, damit die Datei problemlos funktioniert.
In "Userform1"

Option Explicit
Private Sub CommandButton1_Click()
'Erste freie Zeile suchen
Dim i As Integer
i = Cells(Rows.Count, 1).End(xlUp).Row
Cells(i + 1, 1).Select
'Datum
If IsDate(TextBox1.Value) Then
ActiveCell.Value = CDate(TextBox1.Value)
Else: MsgBox ("Bitte geben Sie ein richtiges Datum im Format TT.MM.JJJJ ein")
UserForm1.Hide
UserForm1.Show
End If
'Gesprächspartner
ActiveCell.Offset(0, 1).Value = TextBox2.Value
'Thema
ActiveCell.Offset(0, 3).Value = TextBox3.Value
'ggf. Kommentar
ActiveCell.Offset(0, 8).Value = TextBox4.Value
'Abteilung
If OptionButton1.Value = True Then
ActiveCell.Offset(0, 2).Value = OptionButton1.Caption
ElseIf OptionButton2.Value = True Then
ActiveCell.Offset(0, 2).Value = OptionButton2.Caption
ElseIf OptionButton3.Value = True Then
ActiveCell.Offset(0, 2).Value = OptionButton3.Caption
ElseIf OptionButton4.Value = True Then
ActiveCell.Offset(0, 2).Value = OptionButton4.Caption
ElseIf OptionButton5.Value = True Then
ActiveCell.Offset(0, 2).Value = OptionButton5.Caption
ElseIf OptionButton6.Value = True Then
ActiveCell.Offset(0, 2).Value = OptionButton6.Caption
ElseIf OptionButton7.Value = True Then
ActiveCell.Offset(0, 2).Value = OptionButton7.Caption
ElseIf OptionButton8.Value = True Then
ActiveCell.Offset(0, 2).Value = OptionButton8.Caption
ElseIf OptionButton9.Value = True Then
ActiveCell.Offset(0, 2).Value = OptionButton9.Caption
ElseIf OptionButton10.Value = True Then
ActiveCell.Offset(0, 2).Value = OptionButton10.Caption
End If
'Prüfer
If CheckBox1.Value = True Then
ActiveCell.Offset(0, 4).Value = "X"
End If
If CheckBox2.Value = True Then
ActiveCell.Offset(0, 5).Value = "X"
End If
If CheckBox3.Value = True Then
ActiveCell.Offset(0, 6).Value = "X"
End If
If CheckBox4.Value = True Then
ActiveCell.Offset(0, 7).Value = "X"
End If
'Konsole schließen
UserForm1.Hide
End Sub
'Nur schauen
Private Sub CommandButton2_Click()
UserForm1.Hide
End Sub
Private Sub UserForm_Click()
End Sub
So, das ist alles.
Dank im Voraus.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige