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

automatisierte Mails aus Excel

automatisierte Mails aus Excel
Christian
Ich suche einen Weg, aus Excel heraus über Outlook Mails zu verschicken, wenn bestimmte Bedingungen in einzelnen Zellen erfüllt sind. Hierbei kann es sich auch sowohl um eine Kombination aus mehreren Bedingungen handeln, als auch um mehrere Mailempfänger.
Ein Kollege sagte mir, dass dies, wenn überhaupt, nur mit komplizierten VBA-Programmierungen möglich ist. Von VBA weiß ich nur, dass es sie gibt aber mehr auch nicht.
Kann mir einer aus dem Forum eine Hilfestellung geben? Ich könnte auch ein Muster des Excel-Entwurfes, in welchem auch die Bedingungen definiert sind, zur Verfügung stellen.
Vielen Dank!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: automatisierte Mails aus Excel
15.04.2012 15:55:08
Reinhard
Hallo Christian,
gib mal oben links Outlook ein und schau mal die Treffer durch.
Und ja, lade die Beipielmappe hier hoch.
Gruß
Reinhard
AW: automatisierte Mails aus Excel
15.04.2012 16:15:21
Christian
Hallo zusammen,
der File-Upload liegt unter:
https://www.herber.de/bbs/user/79806.xlsx
Ich hoffe, man versteht was ich möchte und es gibt eine Lösung dafür.
Vielen Dank!
Christian
AW: automatisierte Mails aus Excel
15.04.2012 18:47:51
Josef

Hallo Christian,
in das Modul der Tabelle 'Aufgaben'. (Rechtsklick auf Register > Code anzeigen)
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Const cstrSubject As String = "Automail aus Excel"

Private Sub Worksheet_Calculate()
  Dim rng As Range, rngF As Range
  
  On Error Resume Next
  Set rngF = Columns(1).SpecialCells(xlCellTypeFormulas)
  On Error GoTo 0
  
  If Not rngF Is Nothing Then
    For Each rng In rngF.Cells
      If rng <> "" Then sendMail Cells(rng.Row, 8).Text, cstrSubject, "Neue Aufgabe mit der Nummer " & rng.Text
    Next
  End If
  
  Set rngF = Nothing
  
  On Error Resume Next
  Set rngF = Columns(3).SpecialCells(xlCellTypeFormulas)
  On Error GoTo 0
  
  If Not rngF Is Nothing Then
    For Each rng In rngF.Cells
      If rng <= 3 Then sendMail Cells(rng.Row, 8).Text, cstrSubject, "Aufgabe Nummer " & _
        Cells(rng.Row, 1).Text & " wird in " & Cells(rng.Row, 2).Text & " Tagen fällig"
      If rng = 0 Then sendMail Cells(rng.Row, 6).Text & ";" & Cells(rng.Row, 6).Text, cstrSubject, "Aufgabe Nummer " & _
        Cells(rng.Row, 1).Text & " ist fällig. Bitte prüfen"
      If rng < 0 Then sendMail Cells(rng.Row, 6).Text & ";" & Cells(rng.Row, 6).Text, cstrSubject, "Aufgabe Nummer " & _
        Cells(rng.Row, 1).Text & " ist überfällig. Bitte prüfen und neue Absprache"
    Next
  End If
  
  Set rngF = Nothing
  Set rng = Nothing
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
  With Target
    If .Column = 1 And .Row > 1 And .Value <> "" Then
      sendMail Cells(.Row, 8).Text, cstrSubject, "Neue Aufgabe mit der Nummer " & .Text
    ElseIf .Column = 13 And .Row > 1 Then
      If .Value = "Ja" Then sendMail Cells(.Row, 6).Text, cstrSubject, "Aufgabe Nummer " & _
        Cells(.Row, 1).Text & " wurde von " & Cells(.Row, 8) & " Angenommen"
      If .Value = "Nein" Then sendMail Cells(.Row, 6).Text, cstrSubject, "Aufgabe Nummer " & _
        Cells(.Row, 1).Text & " wurde von " & Cells(.Row, 8) & " abgelehnt. Bitte neu zuordnen oder Rücksprache"
      If .Value = "Fertig" Then sendMail Cells(.Row, 8).Text, cstrSubject, "Aufgabe Nummer " & _
        Cells(.Row, 1).Text & " ist erledigt"
    End If
  End With
End Sub


Private Sub sendMail(Receiver As String, Subject As String, Message As String)
  Dim OutApp As Object
  Dim OutMail As Object
  
  Set OutApp = CreateObject("Outlook.Application")
  Set OutMail = OutApp.CreateItem(0)
  
  On Error Resume Next
  With OutMail
    .To = Receiver
    .CC = ""
    .BCC = ""
    .Subject = Subject
    .Body = Message
    .Send 'or use .Display
  End With
  On Error GoTo 0
  
  Set OutMail = Nothing
  Set OutApp = Nothing
End Sub



« Gruß Sepp »

Anzeige
AW: automatisierte Mails aus Excel
15.04.2012 19:19:52
Christian
Hallo Josef,
vielen Dank für den Code. Ich werde ihn morgen in der Firma testen.
Sollten noch Probleme auftreten, dann werde ich mich noch mal melden.
Vielen Dank bis dahin.
Gruß Christian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige