Automatische Benachrichtigung in Excel??

Dieses Thema Automatische Benachrichtigung in Excel?? im Forum "Microsoft Office Suite" wurde erstellt von Hellhammer, 1. Nov. 2005.

Thema: Automatische Benachrichtigung in Excel?? Hallo, ich möchte gern, dass Excel mir nach Ablauf eines vorbestimmten Zeitraumes eine Benachrichtigung schickt,...

  1. Hallo,

    ich möchte gern, dass Excel mir nach Ablauf eines vorbestimmten Zeitraumes eine Benachrichtigung schickt, ist das möglich?

    Z.B. eine Person Max Mustermann hat sich vor 8 Monaten zuletzt bei uns gemaldet.

    In unserer Datenbank sind alle Kunden mit einer Kundennummer und einem Datum vermerkt.
    Das Datum zeigt an, wann wir den letzten Kontakt hatten.

    Danke
     
  2. Hallo Hellhammer,

    ist die Datenbank Access oder eine Excel-Tabelle ?

    Wenn es eine Excel-Tabelle ist:
    - wie ist die Datumsspalte formatiert
    - welche Spalte ist die Datums-Spalte
    - welche Spalte ist die Namens-Spalte

    Wie soll die Benachrichtigung denn aussehen ?
    - email
    - Netsend
    -???

    Wann sollen diese Ausgelöst werden und wodurch ?
    Wiederanlauf, Makro ausführen, Timer ... ?

    Was steht für SW zur Verfügung ? Welche Versionen ?

    Gruß Matjes :)
     
  3. Es handelt sich um eine Excel Tabelle.

    Datum: Spalte C und TT.MM.JJJJ
    Name: Vorname ist Spalte E und der Nachname ist Spalte F

    Die Kundennummer ist in Spalte A zu finden und sieht z.B. so W90-12 aus.
    Das W für weiblich, 90 für das Geburtsjahr und 12 für die Anzahl der Personen mit dem gleichen Jahr und Geschlecht. W90.

    Benachrichtigung: ist eigentlich egal, Netsend wäre aber schon nett.
    Auslöser soll das Datum nach ca. 10 Monaten sein.

    Es soll z.B. so lauten: Kunde W90-12 wurde vor 10 Monaten zuletzt kontaktiert!

    SW..????

    Danke
     
  4. Das ist schon sehr definitiv. :D

    Jetzt fehlt noch die Antwort auf
    Gruß Matjes :)
     
  5. Habe ich doch geschrieben.
    Auslöser durch Datum.

    Timer wäre wohl sinnvoll denke ich.
    Also an die Systemuhr geknüpft.

    Einfach ab dem Datum der letzten Aktualisierung 10 Monate weiter zählen.
    Z.B. heute 01.11.05 eingetragen und am 01.09.06 dann eine Meldung das der Letzt Eintrag am 01.11.05 vorgenommen wurde. Also, bitte den Kunden kontaktieren!

    Danke
     
  6. Hallo Hellhammer,

    die Frage nach dem Auslöser ist natürlich 2-deutig. ;D

    a) Auslöser, daß Excel die Untersuchung startet (Timer)
    b) Auslöser, daß Excel Meldung sendet  (Datumsdifferenz > Schwellwert)

    Für a) wäre ja auch eine Handlung, wie Excel am Morgen öffnen denkbar.

    Gruß Matjes :)
     
  7. He he......

    Sag mal, programmiert Du da etwas oder wie??
    Wozu die ganzen Infos?

    Auslöser A: excel soll natürlich immer dann danach suchen, wenn ich die Tabelle öffne.

    Auslöser B: das Excel erkennt, das einer oder auch mehrere Einträge älter als 10 Monate sind.
    Excel soll praktisch einfach nur das Datum das älter als 10 Monate ist erkennen.

    Schwellwert??? ???
    Hmmm.....also einfach nur ne Meldung schicken, dass würde mir reichen!
    Vielleicht zwei Tage zuvor oder so. ;)
     
  8. Hallo Hellhammer ,

    sorry, ich hatte es so verstanden, das das ablaufen sollte, ohne das du Excel von Hand öffnest.   :-\

    Hier jetzt die Variante->Meldung beim Öffnen der Datei'.

    Folgendes Vorgehen:

    Makro in Modul:
    1) deine Excel-Datei öffnen
    2) VB-Ediotr öffnen Alt+F11
    Links siehst Du ein Fenster mit der Überschrift Projekt-VBA-Project.
    In diesem Fenster ist die Arbeitsmappe unter dem Namen VBAProject(Dateiname) zu finden.
    3) VBAProject(Dateiname) selektieren
    3) rechte Maustaste->Modul->Modul einfuegen
    in der Mitte geht das Code-Fenster Dateiname - Modulx(Code) auf
    4) den folgenden Code per copy und Paste in dieses Fenster hineinkopieren
    Code:
    Option Explicit
    '****************************************************************
    Function Excel_DatumUeberwachenMeldungZusammenstellen() As String
    
      
     ->### A N P A S S E N  ###################
      
     ->Definitionen zum zu untersuchenden Blatt
      Const c_BLATTTNAME = Tabelle1
      
      Const c_SP_KNR = 1     'Spalte A
      Const c_SP_DATUM = 3   'Spalte C
      Const c_SP_VORNAME = 5->Spalte E
      Const c_SP_NAME = 6   ->Spalte F
    
      Const c_Z_ERSTEWERTZEILE = 2
      
     ->Schwellwert Datum, vor dem gemeldet werden soll (ca. 10 Monate)
      Const c_SCHWELLWERT_ANZAHLTAGE = 300
      
     ->max. Meldungsanzahl
      Const c_MAXANZAHLMELDUNGEN = 30
      
     ->### A N P A S S E N  - E N D E #########
      
      Dim ws As Worksheet, l_rows As Long, x As Long
      Dim s_Mldg As String, l_Mldg_cnt As Long
      Dim d_Datum As Date, d_Datum_Schwellwert As Date, d_Datum_Heute As Date
      Dim s_Knr As String, s_Vorname As String, s_Name As String
      
      Set ws = Worksheets(c_BLATTTNAME)
      
     ->Anzahl relevanter Zeilen feststellen
      l_rows = ws.Cells(ws.Rows.Count, c_SP_DATUM).End(xlUp).Row
      
     ->Datum Schwellwert berechnen
      d_Datum_Heute = Format(Now(), dd.mm.yyyy)
      d_Datum_Schwellwert = d_Datum_Heute - c_SCHWELLWERT_ANZAHLTAGE
      
     ->Meldung initialisieren
      s_Mldg = : l_Mldg_cnt = 0
      
     ->alle relevanten Zeilen untersuchen
      For x = c_Z_ERSTEWERTZEILE To l_rows
        d_Datum = ws.Cells(x, c_SP_DATUM).Value
        If d_Datum < d_Datum_Schwellwert Then
          l_Mldg_cnt = l_Mldg_cnt + 1
         ->schon eine Meldung -> Linefeed anhängen
          If l_Mldg_cnt > 1 Then s_Mldg = s_Mldg & vbLf
          s_Knr = ws.Cells(x, c_SP_KNR).Value
          s_Name = ws.Cells(x, c_SP_NAME).Value
          s_Vorname = ws.Cells(x, c_SP_VORNAME).Value
          If d_Datum = 0 Then
            s_Mldg = s_Mldg & _
              Kunde  & s_Knr &  wurde nie kontaktiert!
          Else
            s_Mldg = s_Mldg & _
              Kunde  & s_Knr &  wurde vor  & (d_Datum_Heute - d_Datum) &  kontaktiert!
          End If
        End If
        If l_Mldg_cnt >= c_MAXANZAHLMELDUNGEN Then Exit For
      Next
      
      If l_Mldg_cnt = 0 Then
        Excel_DatumUeberwachenMeldungZusammenstellen = _
          Alle Kunden wurden in den letzten  & c_SCHWELLWERT_ANZAHLTAGE &  Tagen kontaktiert.
      Else
        Excel_DatumUeberwachenMeldungZusammenstellen = s_Mldg
      End If
      
    AUFRAEUMEN:
      Set ws = Nothing
    End Function
    5) ggf. die Konstanten anpassen ( zwischen ANPASSEN und ANPASSEN ENDE)
    (wichtig ist der Blattname und die erste Wertezeile)
    6) speichern mit Strg+S


    Open-Makro in Code-Seite von DieseArbeitsmappe
    7) VBAProject(Dateiname)-> DieseArbeitsmappe doppelklicken
    in der Mitte geht das Code-Fenster DieseArbeitsmappe  auf
    8) den folgenden Code per copy und Paste in dieses Fenster hineinkopieren
    Code:
    Private Sub Workbook_Open()
      Dim s_Mldg As String
      
      On Error Resume Next
      s_Mldg = Excel_DatumUeberwachenMeldungZusammenstellen
      If s_Mldg =  Then
        MsgBox (Function->Excel_DatumUeberwachenMeldungZusammenstellen' nicht erreichbar.)
      Else
       ->Meldung ausgeben
        MsgBox s_Mldg
      End If
      On Error GoTo 0
    End Sub
    9) speichern mit Strg+S
    10) VB-Editor schliessen mit Alt+Q

    Jetzt kannst Du die Datei schliessen und wieder öffnen
    Es sollte jetzt nach dem Öffnen eine Message-Box erscheinen.

    Gruß Matjes :)
     
  9. Aaaaalter, was hast Du denn da gemacht????

    Ist ja unglaublich!!!!
    Das nenne ich Einsatz und Hingabe!

    Ich werde mal versuchen es so zu machen wie Du es oben beschrieben hastm, ich hoffe es gelingt mir??
    Also das mit dem öffnen muss nicht sein, ich dachte nur, es wäre anders nicht möglich.
    Wenn die Meldungen erscheinen auch ohne die Datei zu öffnen, wäre es vermutlich sogar besser.

    Herzlichen Dank Matjes, ich bin sprachlos.
     
  10. Hallo Hellhammer,

    Du kannst folgendes am Schluß des Moduls einfügen
    Code:
    Sub Excel_DatumUeberwachenMeldung()
      Dim s_Mldg As String
      
      s_Mldg = Excel_DatumUeberwachenMeldungZusammenstellen
      
      MsgBox s_Mldg
    End Sub
    Dann unter Extra->Makro->Makros  Excel_DatumUeberwachenMeldung ausführen

    Gruß Matjes :)
     
Die Seite wird geladen...

Automatische Benachrichtigung in Excel?? - Ähnliche Themen

Forum Datum
Automatische Benachrichtigung auf dem Desktop erzeugen Windows 7 Forum 2. Apr. 2015
SMF: Automatische Benachrichtigung, ... Webentwicklung, Hosting & Programmierung 5. Nov. 2006
Automatische Benachrichtigung Windows XP Forum 5. Nov. 2006
Automatische Updates Windows 10 Forum 11. Aug. 2016
Automatisches Downgrade auf Windows 7 nach Installation von Windows 10 Windows 10 Forum 14. Juli 2016