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

ToDo-Liste mit Erinnerung

ToDo-Liste mit Erinnerung
13.07.2017 12:30:40
Al
Hallo zusammen,
ich habe eine ToDo-Excelliste und würde gerne über einen Makro an bestimmte Dinge erinnert werden. Diese Liste ist immer geöffnet, wenn der Rechner hochfährt.
Die Liste soll wie folgt aussehen:
In der Spalte B steht ein Datum (das ich mit der Tastenkombi. Strg + "." eintrage) und in Spalte K die Bemerkungen, die bei der Erinnerungsmeldung angezeigt werden sollen. In Spalte L habe ich eine Auswahl über die Anzahl der Tage bzw. Wochen eingestellt, nach der die Erinnerung -abhängig von Spalte B- erfolgen soll (siehe Excelblatt). Diese Auswahl kann aber auch anders aussehen, falls die Programmierung dadurch einfacher wird (bspw. in Spalte L steht eine Zahl und in Spalte M Tage bzw. Wochen ...).
Ist die Uhrzeit, an dem die Erinnerung erfolgt, auch schon mit der Tastenkombi. Strg+. in die Spalte B eingetragen?
Hat jemand eine zündende Idee?
Danke für die Hilfe.
Al
https://www.herber.de/bbs/user/114857.xlsm

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

Betreff
Datum
Anwender
Anzeige
AW: ToDo-Liste mit Erinnerung
13.07.2017 16:38:26
Max2
Hallo,
keine Ahnung wie diese Erinnerung aussehen soll.
Aber hier mal ein kleiner Anstoß wie man es machen könnte:
Sub a()
Dim ws As Worksheet
Dim rng As Range
Dim today As Date
Dim c, cRow As Long
today = Date
Set ws = ThisWorkbook.Sheets("ToDoListe")
With ws
cRow = .Cells(.Rows.Count, 2).End(xlUp).Row
Set rng = .Range(.Cells(4, 2), .Cells(cRow, 2))
For Each c In rng
If today = c.Value Then MsgBox "ERINNERUNG!" & vbNewLine & c.Value
If today > c.Value Then MsgBox "ABGELAUFEN!" & vbNewLine & c.Value
If today 

AW: ToDo-Liste mit Erinnerung
13.07.2017 17:01:16
Al
Hallo Max2,
das klappt schon mal super. In der Erinnerung soll der Text stehen, der in Spalte K als "Bemerkung steht... Kann man das irgendwie implementieren?
Gibt es auch die Möglichkeit, dass die Erinnerung (Bemerkung in der entsprechenden Zeile) sich selbst aufruft, sobald die Zeit (Erinnern in ...) abgelaufen ist?!
Grüße
Anzeige
AW: ToDo-Liste mit Erinnerung
14.07.2017 08:47:30
Max2
Hallo,
hier deine Mappe mit neuem Code: https://www.herber.de/bbs/user/114876.xlsm
Das Prüfen der Daten findet im Modul "ToDo" statt.
Der Sub "NotifyUser" wird beim öffnen der Datei gestartet und wenn sich in
Spalte L etwas ändert.
Hier ist nur Code:

Private Sub Workbook_Open()
Call NotifyUser
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 12 Then Call NotifyUser
End Sub
Option Explicit
Private ws As Worksheet
Sub NotifyUser()
Dim today As Date
Dim rng As Range
Dim c
today = Date
Set ws = ThisWorkbook.Sheets("ToDoListe")
With ws
Set rng = .Range(.Cells(4, 2), .Cells(LastRow(2), 2))
For Each c In rng
If c.Value  "" Then Call RemindUser(today, GetReminder(c.Offset(, 10).Value), c. _
Value)
Next c
End With
End Sub
Private Function LastRow(ByVal col As Long) As Long
With ws
LastRow = .Cells(.Rows.Count, col).End(xlUp).Row
End With
End Function
Private Sub RemindUser(ByVal today As Date, daysToAdd As Byte, _
cellDate As Date)
Dim checkDate As Date
checkDate = cellDate + daysToAdd
'If checkDate > today Then MsgBox "bevorstehend"
'If checkDate 

Anzeige
AW: ToDo-Liste mit Erinnerung
16.07.2017 16:49:25
Al
Hallo nochmal,
ja das funktioniert einwandfrei. Tausend Dank schon mal.
Eine Frage hätte ich da noch und ich glaube ich habe mich nicht ganz klar ausgedrückt :D In der Spalte K ist eine Überschrift "Bemerkung". In dieser Spalte stehen Bemerkungen, wie bspw. "Bestellung aufgeben", "Zeichnungen prüfen" etc... Diese Bemerkungen sollen erscheinen, wenn die Erinnerungsfrist abgelaufen ist. Kann man diese Bemerkungen statt "Erinnerung eingestellt auf" für das jeweilige Datum bzw. die jeweilige Zeile erscheinen lassen? Dann wäre mein Excelblatt komplett :)
Grüße und noch einen schönen Sonntag
Anzeige
AW: ToDo-Liste mit Erinnerung
17.07.2017 18:54:47
Max2
Hallo,
dann einfach NotifyUser hiermit austauschen:
Sub NotifyUser()
Dim today As Date
Dim rng As Range
Dim c
today = Date
Set ws = ThisWorkbook.Sheets("ToDoListe")
With ws
Set rng = .Range(.Cells(4, 2), .Cells(LastRow(2), 2))
For Each c In rng
If c.Value  "" Then Call RemindUser(today, GetReminder(c.Offset(, 10).Value), c. _
Value, c.Row)
Next c
End With
End Sub
und RemindUser hiermit austauschen:
Private Sub RemindUser(ByVal today As Date, daysToAdd As Byte, _
cellDate As Date, c As Long)
Dim checkDate As Date
checkDate = cellDate + daysToAdd
With ws
If checkDate = today Then MsgBox .Cells(c, 11).Value & vbNewLine & _
.Cells(c, 10).Value & vbNewLine & .Cells(c, 9).Value & _
vbNewLine & .Cells(c, 8).Value & vbNewLine & .Cells(c, 7).Value & _
vbNewLine & .Cells(c, 6).Value & vbNewLine & .Cells(c, 5).Value & _
vbNewLine & .Cells(c, 4).Value & vbNewLine & .Cells(c, 3).Value & _
vbNewLine & .Cells(c, 2).Value
End With
End Sub
Damit werden die Zellen k bis b in der MsgBox angezeigt.
Wenn du weniger oder mehr Zellen anzegeigen willst, dann musst du folgendes tun:
in Remind User User die ".Cells(c, xy).Value" entfernen oder
".Cells(c, xy)" hinzufügen.
c ist die momentane zeile, xy ist der spaltenwert den du ändern kannst.
c solltest du nicht abändern.
Anzeige
AW: ToDo-Liste mit Erinnerung
17.07.2017 19:33:31
Al
Jaaaa, genau diese Funktion wollte ich programmieren!
Tausend Dank Max ;)
Schönen Abend noch.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige