Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel Termine in Outlook und Email versenden.

Excel Termine in Outlook und Email versenden.
16.01.2019 09:31:34
Alba
Hallo zusammen,
Ich habe folgendes Problem, ich hätte gerne eine Excel Datei mit verschiedenen Gültigkeiten, diese sollen dann auch im Team-Kalender im Outlook erscheinen. Am besten wäre als Termin Text "Prüfer_Spalten Überschrift_abgelaufen". Das Ganze ist als Erinnerung für Schulungen gedacht und das Datum wird manuell nach Erneuerung der Schulung wieder neu eingetragen was dann auch in Outlook geändert werden sollte, eventuell mit einem Button. Hab es mir so Vorgestellt das dann in Spalte I z.B. ein x drin ist wenn die Spalte geändert wurde und ein grüner haken, wenn es dann in Outlook übertragen wurde.
In Spalte B,C und H soll 2 Wochen vor Ablauf eine Erinnerungsmail an den Prüfer (Prüfer1@beispiel.de)gehen, wenn der Termin Überschritten wurde soll die Füllung in der Zelle Rot werden und der Text "abgelaufen" drinstehen und eine weitere E-Mail an vorgesetzten und Prüfer rausgehen (Prüfer1@beispiel.de / Vorgesetzter@beispiel.de). In Spalte D bis G soll 6 Monate vor dem eingetragenen Termin eine Erinnerungsmail an vorgesetzten und Prüfer rausgehen (Prüfer1@beispiel.de / Vorgesetzter@beispiel.de).
Ich hoffe das ich mein Vorhaben einigermaßen erklären konnte und dass es machbar ist. Bin im Voraus für jede Hilfe extrem Dankbar. Ich habe auch mal eine Beispieldatei mit dem Layout wie ich es mir vorstelle angefügt, hoffe das es so verständlicher wird.
PS.: Ich benutze Excel 2016.
Gruß
Alba
https://www.herber.de/bbs/user/126799.xlsx
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Termine in Outlook und Email versenden.
17.01.2019 10:15:04
Alba
Hallo zusammen,
dass die Zellen Rot werden, nach überschreiten des Termins habe ich durch eine "Bedingte Formatierung" gelöst (=UND($H4"")). Die ich auf die Spalten B bis H anwende. In den Spalten B,C und H habe ich die "Bedingte Formatierung" (=(B4>HEUTE())*(B4HEUTE())*(D4 Ich habe auch schon ein Code gefunden und umgestellt der eine E-Mail auslöst
Der Code für das Klassenmodul der Tabelle:
Private Sub Worksheet_Calculate()
If Range("B4") 
Und der für das Modul:
Sub Send_Excel_Message()
Dim MyMessage As Object, MyOutApp As Object
'InitializeOutlook = True
Set MyOutApp = CreateObject("Outlook.Application")
'Nachrichtenobject erstellen
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = "beispiel@beispiel.de"
.Subject = "Abgelaufene Schulung" & " " & Date & " " & Time
'Hier wird eine normale Text Mail erstellt
'.body = "Das ist ein Test" & vbCrLf & "Bitte ignorieren"
'Hier wird die HTML Mail erstellt
.HTMLBody = "Das ist ein Test." & vbCrLf & "Bitte ignorieren."
'Hier wird die Mail nochmals angezeigt
.Display
'Nicht ganz offiziell :-)
.Send
End With
Set MyOutApp = Nothing
Set MyMessage = Nothing
End Sub
Aber ich stoße beim Umstellen jetzt an meine Grenzen und zwar:
1.) Sollte jede Zeile eine eigene E-Mail-Adresse zugeordnet werden können. So das wenn z.B. der Wert aus B4 sich verfärbt die Person aus A4 die E-Mail bekommt.
2.) möchte ich das die E-Mail ausgelöst wird wenn die Zellen Orange werden Und einen zusätzlichen Code, wenn die Zellen Rot werden das dann eine E-Mail an 2 Empfänger gesendet wird (1 an Name aus Spalte A und eine an eine feste E-Mail).
3.) Das Problem mit den Übertragen der Termine in den Team Ordner von Outlook bleibt leider immer noch zu Lössen.
Danke im Voraus jedem der mir Hilft oder es versucht :-)
Anzeige
AW: Excel Termine in Outlook und Email versenden.
17.01.2019 13:27:04
Alba
Servus Bernd,
danke für den Tipp.
Leider bin ich nicht so Fit im Code umstellen und auch leider allgemein in VBA noch Anfänger.
Da es ja dein Code ist könntest du mir vielleicht helfen?
Weil in dem Code geht der Email Versand ja nach Datum, bei mir wäre es besser nach Farbe.
Da in Spalte B,C und H 2 Wochen vorher Erinnert werden soll und in Spalte D-G 6 Monate vorher durch die bedingte Formatierung habe ich es jetzt so gemacht das sie sich Orange verfärben sobald diese Grenze erreicht wird und Rot sobald das Datum erreicht ist.
Bei Orange so wie gesagt die E-Mail an A4 oder A5 usw. gehen.
Bei Rot soll die E-Mail an eine feste E-Mail-Adresse und an die E-Mail-Adresse aus Spalte A gehen.
Für den Wert aus B4 habe ich das soweit hingekriegt aber müsste ja so für alle Zellen einen eigenen Code schreiben da wäre eine Schleife schon gut.
Private Sub Worksheet_Calculate()
If Range("B4") 

' Code zum E-Mail senden wenn Gelb (2 Wochen)
Sub Send_Excel_Message()
Dim MyMessage As Object, MyOutApp As Object
'InitializeOutlook = True
Set MyOutApp = CreateObject("Outlook.Application")
'Nachrichtenobject erstellen
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = Sheets("Tabelle1").Range("A4").Value
.Subject = Sheets("Tabelle1").Range("B3").Value
.Attachments.Add "C:\Users\albersb\Desktop\Versuch.xlsm"
'Hier wird eine normale Text Mail erstellt
'.body = "Das ist ein Test" & vbCrLf & "Bitte ignorieren"
'Hier wird die HTML Mail erstellt
.HTMLBody = "Deine Schulung" & " " & Sheets("Tabelle1").Range("B3").Value & " " & "ist in  _
2 Wochen abgelauft." & "
" & _ "Bitte einen Termin mit QHSE abstimmen." 'Hier wird die Mail nochmals angezeigt .Display 'Nicht ganz offiziell :-) .Send End With Set MyOutApp = Nothing Set MyMessage = Nothing End Sub
Danke im Voraus
Anzeige
AW: Excel Termine in Outlook und Email versenden.
18.01.2019 10:05:39
Bernd
Servus Alba,
teste mal

Option Explicit
Dim intLZ As Integer
Dim i As Integer
Private Sub Worksheet_Calculate()
With ActiveSheet
intLZ = .Cells(Rows.Count, 2).End(xlUp).Row
For i = 4 To intLZ
If .Cells(i, 2).Value 
Grüße, Bernd
AW: Excel Termine in Outlook und Email versenden.
18.01.2019 10:52:08
Alba
Hallo Bernd,
Danke für deine Mühe.
Der Code funktioniert jetzt schon mal auf alle Spalten!
Hätte leider aber noch paar Fragen :-(
Und zwar hätte ich ja gerne, dass wenn die Zelle Rot ist eine E-Mail nur an den Namen aus Spalte A geht.
Wenn die Zelle aber Rot wird sollte eine E-Mail mit einem anderen Text an den Namen aus Spalte A und eine feste Email (Vorgesetzter) gehen.
Könntest mir da auch weiterhelfen?
Gruß
Alba
Anzeige
AW: Excel Termine in Outlook und Email versenden.
18.01.2019 11:28:32
Alba
Hallo Bernd,
und was noch die Krönung wäre, das wenn eine Zelle die Email auslöst, im Text der E-Mail der Text aus der Spaltenüberschrift (Zeile3) die sich verfärbt hat mit rein kommt.
Anzeige
AW: Excel Termine in Outlook und Email versenden.
21.01.2019 11:43:23
Bibi
War das doch zuviel :-(
AW: Excel Termine in Outlook und Email versenden.
21.01.2019 11:46:02
Bibi
Ich hätte nämlich ein ähliches Problem :-)
AW: Excel Termine in Outlook und Email versenden.
21.01.2019 11:46:46
Bibi
.
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel Termine in Outlook und Email versenden


Schritt-für-Schritt-Anleitung

  1. Vorbereitung der Excel-Datei: Erstelle eine Excel-Tabelle, in der du die Schulungsdaten und zugehörigen Prüfer festhältst. Achte darauf, dass Spalte A die E-Mail-Adressen der Prüfer, Spalte B das Datum der Schulung und weitere Spalten für Erinnerungen enthalten sind.

  2. Bedingte Formatierung einrichten:

    • Wähle die relevanten Spalten (B bis H) aus.
    • Gehe zu „Start“ > „Bedingte Formatierung“ > „Neue Regel“.
    • Wähle „Zellen formatieren, die enthalten“ und gebe die Bedingungen für das Färben der Zellen (Orange für 2 Wochen vorher, Rot für abgelaufene Schulungen) ein.
  3. VBA-Code zur E-Mail-Versendung:

    • Öffne den VBA-Editor mit ALT + F11.
    • Füge folgenden Code in ein neues Modul ein:
    Sub Send_Excel_Message()
        Dim MyMessage As Object, MyOutApp As Object
        Set MyOutApp = CreateObject("Outlook.Application")
        Set MyMessage = MyOutApp.CreateItem(0)
        With MyMessage
            .To = Sheets("Tabelle1").Range("A4").Value
            .Subject = "Erinnerung zur Schulung"
            .HTMLBody = "Deine Schulung ist in 2 Wochen abgelaufen."
            .Display
            .Send
        End With
        Set MyOutApp = Nothing
        Set MyMessage = Nothing
    End Sub
  4. Automatisierung der E-Mail-Versendung:

    • Verwende die Worksheet_Calculate-Funktion, um den E-Mail-Versand bei Farbänderungen auszulösen:
    Private Sub Worksheet_Calculate()
        Dim intLZ As Integer
        Dim i As Integer
        intLZ = Cells(Rows.Count, 2).End(xlUp).Row
        For i = 4 To intLZ
            If Cells(i, 2).Interior.Color = RGB(255, 0, 0) Then ' Rot
                Call Send_Excel_Message ' Funktion aufrufen
            End If
        Next i
    End Sub
  5. Verknüpfung mit Outlook:

    • Achte darauf, dass die E-Mails im Outlook-Ordner versendet werden.
    • Du kannst auch Termine in Outlook mit MyOutApp.CreateItem(1) erstellen, um diese als Kalendereinträge zu versenden.

Häufige Fehler und Lösungen

  • Problem: E-Mails werden nicht verschickt.

    • Lösung: Überprüfe die E-Mail-Adresse in Spalte A, ob sie korrekt eingegeben ist.
  • Problem: Bedingte Formatierung funktioniert nicht.

    • Lösung: Stelle sicher, dass die Bedingungen korrekt definiert sind und die Formatierung für die richtigen Zellen gilt.
  • Problem: Outlook zeigt eine Sicherheitswarnung beim Senden von E-Mails.

    • Lösung: Du musst möglicherweise die Sicherheitseinstellungen in Outlook anpassen, um das Senden von E-Mails über VBA zu ermöglichen.

Alternative Methoden

  • Du kannst auch Microsoft Power Automate verwenden, um Erinnerungen und E-Mail-Benachrichtigungen zu automatisieren. Dies erfordert keine Programmierkenntnisse und kann direkt in der Microsoft 365-Umgebung genutzt werden.

  • Eine andere Möglichkeit ist, die Excel-Tabelle regelmäßig zu exportieren und manuell E-Mails über Outlook zu verschicken.


Praktische Beispiele

  • Beispiel 1: Du hast eine Excel-Liste mit Schulungsdaten. Bei überschreiten des Datums in Spalte B wird die Zelle rot, und eine E-Mail wird automatisch an den Prüfer gesendet.

  • Beispiel 2: Wenn das Datum in Spalte D bis G erreicht wird, wird eine Erinnerungs-E-Mail an den Vorgesetzten und den Prüfer versendet.


Tipps für Profis

  • Nutze die Send_Excel_Message-Funktion, um mehrere Empfänger zu integrieren, indem du die .To-Eigenschaft entsprechend anpasst.

  • Füge zur besseren Nachverfolgbarkeit einen Status in die Excel-Tabelle ein, der anzeigt, ob die E-Mail erfolgreich versendet wurde (z.B. durch einen grünen Haken in einer neuen Spalte).

  • Experimentiere mit der HTMLBody-Formatierung, um das Aussehen deiner E-Mails zu verbessern.


FAQ: Häufige Fragen

1. Wie kann ich Erinnerungen aus Excel in Outlook erstellen? Um Erinnerungen aus Excel in Outlook zu erstellen, musst du die Daten in Excel mit VBA-Code verknüpfen und die Outlook-Objektbibliothek verwenden.

2. Kann ich einen Outlook-Termin als Anhang in einer E-Mail versenden? Ja, du kannst einen Outlook-Termin als Anhang verschicken, indem du die Attachments.Add-Methode im VBA-Code verwendest.

3. Was ist die beste Möglichkeit, Benachrichtigungen in Excel zu erstellen? Die beste Methode ist die Verwendung von bedingter Formatierung in Kombination mit VBA, um automatische E-Mail-Benachrichtigungen zu versenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige