Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Datumsfelder in Excel - Erinnerungsfunktion?

6,946 views
Skip to first unread message

Matthias Senn

unread,
Aug 23, 2001, 9:35:06 AM8/23/01
to
Hallo Excel-Kenner

Ich kämpfe mit folgendem Problem.
Ich habe eine Excel-Tabelle, die mehrere Datumsfelder enthält.
Meistens beinhaltet dies eine Zeitspanne von - bis in zwei Feldern.

Da die Tabelle immer umfangreicher wird suche ich eine Möglichkeit,
wie sich Excel auf irgendeine Art und Weise bemerkbar macht, wenn
das Enddatum überschritten ist.

Gibt es eine Möglichkeit, dass ich eine Message erhalte? - Oder dass
eine Zelle bei Ablauf rot blinkt? - Oder sonst irgendwas? - Vielleicht
irgendeine Kombination mit Outlook?

Bin für jede Lösung dankbar
(Vielleicht ist sie ja noch so einfach, dass ich sie auch verstehe ....)

Gruss und Danke, Matthias


Uwe Koehler

unread,
Aug 23, 2001, 10:23:01 AM8/23/01
to

Matthias Senn schrieb in Nachricht <9m30oc$8ks$1...@rex.ip-plus.net>...

>Hallo Excel-Kenner
>
>Ich kämpfe mit folgendem Problem.
>Ich habe eine Excel-Tabelle, die mehrere Datumsfelder enthält.
>Meistens beinhaltet dies eine Zeitspanne von - bis in zwei Feldern.
>
>Da die Tabelle immer umfangreicher wird suche ich eine Möglichkeit,
>wie sich Excel auf irgendeine Art und Weise bemerkbar macht, wenn
>das Enddatum überschritten ist.


Hallo Matthias,

angenommen das Enddatum steht in A1,
dann kopierst Du folgendes in den Code von
"Diese Arbeitsmappe"

Private Sub Workbook_Open()
If Date > Worksheets("DeinTabellenname").Range("A1").Value Then
Msgbox "Enddatum überschritten"
End Sub

vergleicht das Systemdatum mit dem Datum in
Zelle A1 - wenn größer gibts die Meldung.
Beim Öffnen der Arbeitsmappe - andere
Ereignisse sind natürlich auch möglich.

HTH

Uwe

Tobias Müller

unread,
Aug 23, 2001, 11:04:28 AM8/23/01
to
Muss natürlich so heißen ;)

"Tobias Müller" <tobias-...@web.de> schrieb im Newsbeitrag
news:9m35s1$u5n$05$1...@news.t-online.com...
> Hi Matthias
>
> Meine Lösung ist ausführlicher als die von Uwe, aber du kannst damit
> ganze Bereiche nach der Übereinstimmung mit dem Enddatum überprüfen,
> einfach per "F11" im VBA-Editor einfügen und dann im
> Modul DieseArbeitsmappe einfügen

Deutsche Sprache schwere Sprache :)

mfg

Tobias


Lisa Wilke-Thissen

unread,
Aug 23, 2001, 11:25:41 AM8/23/01
to
Hi Matthias,

du kannst das Enddatum über die bedingte Formatierung hervorheben lassen:
"Format/bedingte Formatierung/Formel ist/=B2<=HEUTE()/Format Farbe rot",
wenn beispielsweise dein Enddatum in B2 rot dargestellt werden soll.

Gruß Lisa

"Matthias Senn" <matthi...@microware.ch> schrieb im Newsbeitrag
news:9m30oc$8ks$1...@rex.ip-plus.net...

Erhard Stucki

unread,
Aug 24, 2001, 3:43:10 AM8/24/01
to
Hallo zusammen

Ist es möglich den code für die msgBox auch auf eine spalte anzuwenden?

Private Sub Workbook_Open()
If Date > Worksheets("DeinTabellenname").Range("A1").Value Then
Msgbox "Enddatum überschritten"

End If
End Sub

Bereich: G7 -G37

Mit freundlichen Grüssen

Erhard Stucki

"Lisa Wilke-Thissen" <wilke-...@t-online.de> schrieb im Newsbeitrag
news:9m379m$5vn$00$1...@news.t-online.com...

Tobias Müller

unread,
Aug 24, 2001, 8:52:25 AM8/24/01
to

"Erhard Stucki" <h.st...@freesurf.ch> schrieb im Newsbeitrag
news:#AlqSBHLBHA.2020@tkmsftngp02...

> Hallo zusammen
>
> Ist es möglich den code für die msgBox auch auf eine spalte anzuwenden?

Ja schau dir mal meinen Code weiter oben an, einfach kopieren

> Bereich: G7 -G37

und die Variablen auf

strAnfang = "G7"
bytSpalte = 0
bytZeile = 30

abänder

mfg

Tobias


Thomas Ramel

unread,
Aug 24, 2001, 9:37:09 AM8/24/01
to
Grüezi Tobias

"Tobias Müller" schrieb:


>
> Ja schau dir mal meinen Code weiter oben an, einfach kopieren

Kannst Du den Code bitte nochmals posten?!
Es scheint, dass Dein Beitrag irgendwie verlorengegngen ist.
Jedenfalls wird er bei mir (Und Google) nict angezeigt.

--
Mit freundlichen Grüssen


Thomas Ramel
Schlesinger Konstruktionen
http://www.4853.ch/Schlesinger

Erhard Stucki

unread,
Aug 24, 2001, 2:57:02 PM8/24/01
to
Hallo Thomas

hab dir den code nochmals.

Private Sub Workbook_Open()
If Date > Worksheets("DeinTabellenname").Range("A1").Value Then
Msgbox "Enddatum überschritten"
End If
End Sub

Gruss
Erhard

"Thomas Ramel" <Schle...@ggs.ch> schrieb im Newsbeitrag
news:#RVbiHKLBHA.2012@tkmsftngp05...

Tobias Müller

unread,
Aug 25, 2001, 5:36:44 AM8/25/01
to
"Thomas Ramel" <Schle...@ggs.ch> schrieb im Newsbeitrag
news:#RVbiHKLBHA.2012@tkmsftngp05...
> Grüezi Tobias
>
> "Tobias Müller" schrieb:
> >
> > Ja schau dir mal meinen Code weiter oben an, einfach kopieren
>
> Kannst Du den Code bitte nochmals posten?!
> Es scheint, dass Dein Beitrag irgendwie verlorengegngen ist.
> Jedenfalls wird er bei mir (Und Google) nict angezeigt.

Komisch aber egal :?

> --
> Mit freundlichen Grüssen
>
>
> Thomas Ramel
> Schlesinger Konstruktionen
> http://www.4853.ch/Schlesinger

Hier folgt jetzt noch mal der Code.
Hab ihn schon so angepasst das er eigentlich
funktionieren müsste.

----------------------------------------------------
Private Sub Workbook_Open()

Call DatumMelden

End Sub

Sub DatumMelden()
Dim strAnfang As String
Dim bytSpalte As Byte, bytZeile As Byte
Dim bytA As Byte, bytB As Byte
Dim Datum As String, Heute As Date
Dim strMeldung As String, strTitel As String
Dim strZelle As String

strAnfang = "G7" 'Zeile von der begonnen wird
bytSpalte = 0 'Anzahl der Spalten die durchsucht werden sollen
bytZeile = 20 'Anzahl der Zeilen die durchsucht werden sollen

'Das aktuelle Datum wird ermittelt
Heute = Format(Date, "dd.mm.yyyy")
'Die aktuelle Zelle wird auf den zum Anfangspunkt gesetzt
Range(strAnfang).Select

'Die For-Schleifen durchlaufen die oben angegeben Zahl von Zeilen und
Spalten
'nach dem heutigen Datum
For bytA = 0 To bytSpalte
For bytB = 0 To bytZeile
'Hier wird die Zelle ausgelesen und in das Datumsformat "01.01.2001"
umgewandelt
Datum = Format(ActiveCell.Offset(bytB, bytA).FormulaR1C1,
"dd.mm.yyyy")
'Wenn der Wert ein Datum ist
If IsDate(Datum) = True Then
'und das Datum gleich dem heutigen ist wird die Meldung erzeugt
If Datum = Heute Then
'In strZelle wird der "Platz" der aktuellen Zelle ausgelesen
und
'das "Absolut" Zeichen ersetzt
strZelle = Replace(ActiveCell.Offset(bytB, bytA).Address,
"$", " ")
'In strMeldung ist der Text der Nachricht eingetragen der
erscheint wenn das Datum
'in der Zelle mit dem heutigem übereinstimmt.
strMeldung = "Achtung in der Zelle " & strZelle & _
" ist ein wichtiger Termin"
'Hier kannst du den Text eintragen der in der Titelleiste
der Meldung stehen soll
strTitel = "Achtung, wichtiger Termin!!!"
'Folgender Code erzeugt die Mitteilung
MsgBox strMeldung, vbOKOnly + vbInformation, strTitel
End If
End If
Next bytB
Next bytA

End Sub
-----------------------------------------------------------------------

mfg

Tobias


Erhard Stucki

unread,
Aug 25, 2001, 11:52:22 AM8/25/01
to
Hallo Tobias

leider klappt es mit dem Code nicht. Die msgBox sollte erscheinen, wenn in
der Spalte G das Datum überschritten wurde.
Sollte für den ganzen Bereich der Spalte G gehen.Sollte doch möglich sein ?

A B C
D E F G
Rechnungsdatum Eingegangen am: Kunde Rechnungsnummer Gesamtbetrag
Erfasst Zahlbar bis:
22.08.01 24.08.01 bla bla 11364
JA 24.09.01
23.08.01 24.08.01 bla bla B 1437
JA 24.09.01
22.07.01
22.08.01
Gruss

Erhard

"Tobias Müller" <tobias-...@web.de> schrieb im Newsbeitrag

news:9m7rjh$u1o$00$1...@news.t-online.com...

Tobias Müller

unread,
Aug 25, 2001, 1:50:47 PM8/25/01
to
Hi Erhard

"Erhard Stucki" <h.st...@freesurf.ch> schrieb im Newsbeitrag

news:OQUbC3XLBHA.1384@tkmsftngp02...


> Hallo Tobias
>
> leider klappt es mit dem Code nicht. Die msgBox sollte erscheinen, wenn in
> der Spalte G das Datum überschritten wurde.

> > If Datum = Heute Then
Einfach die obere Zeile suchen und durch
If Datum > Heute then
Dann kommt die Meldung wenn das Datum überschritten wird.

> Sollte für den ganzen Bereich der Spalte G gehen.Sollte doch möglich sein
?

Ich versteh nicht ganz was du meinst?

> strAnfang = "G7" 'Zeile von der begonnen wird
> bytSpalte = 0 'Anzahl der Spalten die durchsucht werden sollen
> bytZeile = 20 'Anzahl der Zeilen die durchsucht werden sollen

in folgenden Variablen kannst du das ja festlegen, z.B. so

strAnfang = "G1" 'Zeile von der begonnen wird


bytSpalte = 0 'Anzahl der Spalten die durchsucht werden sollen

bytZeile = 65000 'Anzahl der Zeilen die durchsucht werden sollen

mfg

Tobias


0 new messages