Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

bei Datum automatische Meldung bzw. emailnachricht

Forumthread: bei Datum automatische Meldung bzw. emailnachricht

bei Datum automatische Meldung bzw. emailnachricht
30.06.2003 16:40:59
Stefan F
Hallo!
in einer Exceltabelle möchte ich per Makro eine Erinnerungsmeldung generieren, die automatisch erscheint, wenn das im Makro eingegebene Datum erreicht ist. Zusätzlich möchte ich eine Eamil an eine bestimmte Adresse verschicken lassen.
Ich kann mich dunkel erinnern, dass ich vor einiger Zeit zufällig im Archiv adazu etwas gelesen habe. Jetzt, wo ich sie selbst benötige, finde ich sie nicht mehr.
Kann mir jemand weiterhelfen???
Vielen Dank schon vorab!!!
Gruss
Stefan
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: bei Datum automatische Meldung bzw. emailnachricht
30.06.2003 21:57:57
Jürgen Werner
Hallo Stefan,
das könnte das sein, was Du suchst. Allerdings habe ich jetzt einen festen Bezugspunkt auf das aktuelle Datum gemacht, daß beim Öffnen der Arbeitsmappe ermittelt wird.
Falls Du dies nicht wünscht, lösche das Ereignis "

Private Sub Worksheet_Activate()" und trage das Datum in A65536 ein, das kannst Du ja auch ändern. Du kannst die Eingabe in A1 sowohl mit "Return" als auch mit "Doppelklick-Änderung-Mauszeiger auf andere Zelle" machen...
Ach ja, ohne Vergleichsdatum in A65536 geht es nicht.
Den Mailtext kannst Du auch easy ändern.
Falls noch was unklar ist, melde dich.
Noch ne Bitte: Ändere bitte die Mailadresse :-)
Grüße
Jürgen
ps.: das ist die Mailadresse meiner Frau :-)
Die Datei kannst Du unter "https://www.herber.de/bbs/user/51.xls" runterladen.
Hier noch mal im Textformat:
Option Explicit

Private Sub Worksheet_Activate()
'Beim Öffnen der Arbeitsmappe wird das aktuelle datum in A65536 eingelesen
Dim Ursprung As Range
Dim Target As Range
Set Ursprung = Range("A65536")
Set Target = Range("A1")
Ursprung = Target
End Sub

***************************************************************************

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ursprung As Range
Dim Adresse As String
Dim Betreff As String
Dim Mailtext As String
Dim Mail As Object
Dim Outlook As Object
Adresse = "alexandra.werner@dit.de"
Betreff = "Testmail"
Mailtext = "Dies ist der Versuch, eine automatisierte Mail zu schicken"
Set Ursprung = Range("A65536")
Set Target = Range("A1")
Set Outlook = CreateObject("Outlook.Application")
Set Mail = Outlook.CreateItem(0)
'Gleiche Formatierung der Zellen
Ursprung.NumberFormat = "dd/mm/yy"
Target.NumberFormat = "dd/mm/yy"
If Ursprung <> "" Then
If Target.Value <> Ursprung Then
If Target.Value = Date Then
MsgBox "actual date"
Else
Ursprung = Target 'Aktualisierung des Vergleichdatums
MsgBox "other date"
Mail.Subject = Betreff
Mail.To = Adresse
Mail.Body = Mailtext
Mail.Send
End If
End If
Else
MsgBox "Bitte zuerst das Vergleichsdatum in A65536 eingeben"
End If
End Sub


Anzeige
AW: bei Datum automatische Meldung bzw. emailnachricht
30.06.2003 21:57:21
Jürgen Werner
Hallo Stefan,
das könnte das sein, was Du suchst. Allerdings habe ich jetzt einen festen Bezugspunkt auf das aktuelle Datum gemacht, daß beim Öffnen der Arbeitsmappe ermittelt wird.
Falls Du dies nicht wünscht, lösche das Ereignis "

Private Sub Worksheet_Activate()" und trage das Datum in A65536 ein, das kannst Du ja auch ändern. Du kannst die Eingabe in A1 sowohl mit "Return" als auch mit "Doppelklick-Änderung-Mauszeiger auf andere Zelle" machen...
Ach ja, ohne Vergleichsdatum in A65536 geht es nicht.
Den Mailtext kannst Du auch easy ändern.
Falls noch was unklar ist, melde dich.
Noch ne Bitte: Ändere bitte die Mailadresse :-)
Grüße
Jürgen
ps.: das ist die Mailadresse meiner Frau :-)
Die Datei kannst Du unter "https://www.herber.de/bbs/user/51.xls" runterladen.
Hier noch mal im Textformat:
Option Explicit

Private Sub Worksheet_Activate()
'Beim Öffnen der Arbeitsmappe wird das aktuelle datum in A65536 eingelesen
Dim Ursprung As Range
Dim Target As Range
Set Ursprung = Range("A65536")
Set Target = Range("A1")
Ursprung = Target
End Sub

***************************************************************************

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ursprung As Range
Dim Adresse As String
Dim Betreff As String
Dim Mailtext As String
Dim Mail As Object
Dim Outlook As Object
Adresse = "alexandra.werner@dit.de"
Betreff = "Testmail"
Mailtext = "Dies ist der Versuch, eine automatisierte Mail zu schicken"
Set Ursprung = Range("A65536")
Set Target = Range("A1")
Set Outlook = CreateObject("Outlook.Application")
Set Mail = Outlook.CreateItem(0)
'Gleiche Formatierung der Zellen
Ursprung.NumberFormat = "dd/mm/yy"
Target.NumberFormat = "dd/mm/yy"
If Ursprung <> "" Then
If Target.Value <> Ursprung Then
If Target.Value = Date Then
MsgBox "actual date"
Else
Ursprung = Target 'Aktualisierung des Vergleichdatums
MsgBox "other date"
Mail.Subject = Betreff
Mail.To = Adresse
Mail.Body = Mailtext
Mail.Send
End If
End If
Else
MsgBox "Bitte zuerst das Vergleichsdatum in A65536 eingeben"
End If
End Sub


Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Automatische E-Mail-Benachrichtigung in Excel bei Datums-Erreichung


Schritt-für-Schritt-Anleitung

Um eine automatische E-Mail zu versenden, wenn ein bestimmtes Datum erreicht ist, kannst Du ein Makro in Excel verwenden. Hier sind die Schritte:

  1. Öffne Excel und erstelle eine neue Arbeitsmappe.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Füge ein neues Modul hinzu:
    • Klicke auf EinfügenModul.
  4. Kopiere den folgenden Code in das Modul:
Option Explicit

Private Sub Worksheet_Activate()
    ' Beim Öffnen der Arbeitsmappe wird das aktuelle Datum in A65536 eingelesen
    Dim Ursprung As Range
    Dim Target As Range
    Set Ursprung = Range("A65536")
    Set Target = Range("A1")
    Ursprung = Target
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Ursprung As Range
    Dim Adresse As String
    Dim Betreff As String
    Dim Mailtext As String
    Dim Mail As Object
    Dim Outlook As Object

    Adresse = "deine.email@beispiel.com"
    Betreff = "Erinnerung: Datum erreicht"
    Mailtext = "Dies ist eine automatisierte E-Mail, die Dich daran erinnert, dass das festgelegte Datum erreicht wurde."

    Set Ursprung = Range("A65536")
    Set Target = Range("A1")

    Set Outlook = CreateObject("Outlook.Application")
    Set Mail = Outlook.CreateItem(0)

    ' Gleiche Formatierung der Zellen
    Ursprung.NumberFormat = "dd/mm/yy"
    Target.NumberFormat = "dd/mm/yy"

    If Ursprung <> "" Then
        If Target.Value <> Ursprung Then
            If Target.Value = Date Then
                MsgBox "Das aktuelle Datum wurde erreicht."
                Mail.Subject = Betreff
                Mail.To = Adresse
                Mail.Body = Mailtext
                Mail.Send
            End If
        End If
    Else
        MsgBox "Bitte zuerst das Vergleichsdatum in A65536 eingeben."
    End If
End Sub
  1. Schließe den VBA-Editor und speichere die Datei als Makro-fähige Arbeitsmappe (*.xlsm).
  2. Gib ein Datum in Zelle A1 ein und das Vergleichsdatum in A65536.
  3. Aktiviere das Makro durch einen Doppelklick auf das Blatt oder beim Öffnen der Arbeitsmappe.

Häufige Fehler und Lösungen

  • Fehler: Keine E-Mail wird gesendet.

    • Lösung: Stelle sicher, dass Outlook installiert und korrekt konfiguriert ist. Überprüfe die E-Mail-Adresse in der Variable Adresse.
  • Fehler: Das Datum wird nicht erkannt.

    • Lösung: Überprüfe das Datumsformat in Excel. Es sollte im Format "dd/mm/yy" eingegeben werden.
  • Fehler: Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass die Makros in Excel aktiviert sind und die Datei als *.xlsm gespeichert ist.

Alternative Methoden

Wenn Du keine Makros verwenden möchtest, kannst Du auch die bedingte Formatierung und Erinnerungsfunktionen von Outlook nutzen:

  1. Erstelle eine Aufgabenliste in Outlook mit Erinnerungen.
  2. Verwende Excel, um eine CSV-Datei zu exportieren, die Du in Outlook importieren kannst, um Erinnerungen zu erstellen.

Praktische Beispiele

  1. Erinnerung an einen Geburtstag: Trage das Geburtsdatum in A1 ein und setze das Vergleichsdatum in A65536.
  2. Projektfristen: Nutze das gleiche System, um Fristen für verschiedene Projekte zu überwachen und automatische E-Mail-Benachrichtigungen zu erhalten.

Tipps für Profis

  • Benutze dynamische Daten: Du kannst die Zellen so gestalten, dass sie automatisch auf die nächste Frist oder das nächste Ereignis verweisen.
  • Automatische Benachrichtigungen: Verwende die Application.OnTime-Methode, um regelmäßige Überprüfungen durchzuführen.

FAQ: Häufige Fragen

1. Kann ich auch mehrere E-Mails versenden? Ja, Du kannst mehrere E-Mail-Adressen in der Adresse-Variable durch Semikolons trennen.

2. Funktioniert das auch in Excel 365? Ja, das Makro funktioniert in Excel 365 sowie in älteren Versionen, solange Du Makros aktivieren kannst.

3. Wie kann ich den E-Mail-Text anpassen? Ändere einfach den Text in der Variable Mailtext im VBA-Code, um den E-Mail-Inhalt anzupassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige