Wie sende ich eine E-Mail, wenn eine bestimmte Zelle in Excel geändert wird?
In diesem Artikel geht es um das Senden einer E-Mail über Outlook, wenn eine Zelle in einem bestimmten Bereich in Excel geändert wird.
E-Mail senden, wenn die Zelle in einem bestimmten Bereich mit VBA-Code geändert wird
E-Mail senden, wenn die Zelle in einem bestimmten Bereich mit VBA-Code geändert wird
Wenn Sie automatisch eine neue E-Mail mit angehängter aktiver Arbeitsmappe erstellen müssen, wenn eine Zelle im Bereich A2: E11 in einem bestimmten Arbeitsblatt geändert wird, kann Ihnen der folgende VBA-Code helfen.
1. Klicken Sie in dem Arbeitsblatt, in dem Sie E-Mails basierend auf der geänderten Zelle in einem bestimmten Bereich senden müssen, mit der rechten Maustaste auf die Registerkarte Blatt und dann auf Code anzeigen aus dem Kontextmenü. Siehe Screenshot:
2. Beim Auftauchen Microsoft Visual Basic für Applikationen Bitte kopieren Sie den folgenden VBA-Code und fügen Sie ihn in das Code-Fenster ein.
VBA-Code: E-Mail senden, wenn die Zelle in einem bestimmten Bereich in Excel geändert wird
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2017/9/12
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xRg = Range("A2:E11")
Set xRgSel = Intersect(Target, xRg)
ActiveWorkbook.Save
If Not xRgSel Is Nothing Then
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "Cell(s) " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."
With xMailItem
.To = "Email Address"
.Subject = "Worksheet modified in " & ThisWorkbook.FullName
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Notizen:
3. Drücken Sie die Taste Andere + Q Tasten gleichzeitig zum Schließen der Microsoft Visual Basic für Applikationen Fenster.
Von nun an wird jede Zelle im Bereich A2: E11 geändert. Es wird eine neue E-Mail mit der aktualisierten Arbeitsmappe erstellt. Alle angegebenen Felder wie Betreff, Empfänger und E-Mail-Text werden in der E-Mail aufgelistet. Bitte senden Sie die E-Mail.
NoteHinweis: Der VBA-Code funktioniert nur, wenn Sie Outlook als E-Mail-Programm verwenden.
In Verbindung stehende Artikel:
- Wie sende ich automatisch E-Mails basierend auf dem Zellenwert in Excel?
- Wie sende ich eine E-Mail über Outlook, wenn die Arbeitsmappe in Excel gespeichert ist?
- Wie sende ich eine E-Mail, wenn in Excel auf die Schaltfläche geklickt wird?
- Wie sende ich eine E-Mail, wenn das Fälligkeitsdatum in Excel erreicht wurde?
- Wie sende ich eine E-Mail-Erinnerung oder Benachrichtigung, wenn die Arbeitsmappe in Excel aktualisiert wird?
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!