Hvordan sendes e-mail, hvis forfaldsdato er opfyldt i Excel?
Som vist på skærmbilledet nedenfor, hvis forfaldsdatoen i kolonne C er mindre end eller lig med 7 dage (f.eks. er den nuværende dato 2017/9/13), sendes en e-mail til den angivne modtager i kolonne A og specificeret indhold i kolonne B vises i e-mailens brødtekst. Hvordan kunne du gøre for at opnå det? Denne artikel giver en VBA-kode til at hjælpe dig med at udføre denne opgave.
Send e-mail, hvis forfaldsdato er opfyldt med VBA-kode
Send e-mail, hvis forfaldsdato er opfyldt med VBA-kode
Gør som følger for at sende en e-mailpåmindelse, hvis forfaldsdatoen er opfyldt i Excel.
1. Tryk på andre + F11 taster samtidigt for at åbne Microsoft Visual Basic til applikationer vindue.
2. i Microsoft Visual Basic til applikationer vindue, klik venligst indsatte > Moduler. Kopier og indsæt derefter nedenstående VBA-kode i modulvinduet.
VBA-kode: Send e-mail, hvis forfaldsdato lukkes i Excel
Public Sub CheckAndSendMail()
'Updated by Extendoffice 2018/11/22
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Application.InputBox("Please select the due date column:", "KuTools For Excel", , , , , , 8)
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Application.InputBox("Please select the recipients?email column:", "KuTools For Excel", , , , , , 8)
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Application.InputBox("Select the column with reminded content in your email:", "KuTools For Excel", , , , , , 8)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "<br><br>"
xMailBody = "<HTML><BODY>"
xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text : " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & "</BODY></HTML>"
Set xMailItem = xOutApp.CreateItem(0)
With xMailItem
.Subject = xMailSubject
.To = xRgSendVal
.HTMLBody = xMailBody
.Display
'.Send
End With
Set xMailItem = Nothing
End If
End If
Next
Set xOutApp = Nothing
End Sub
Noter: Linjen Hvis CDate (xRgDateVal) - Dato <= 7 og CDate (xRgDateVal) - Dato> 0 Derefter betyder VBA-koden, at forfaldsdatoen skal være større end 1 dag og mindre end eller lig med 7 dage. Du kan ændre det efter behov.
3. Trykke og F5-tast for at køre koden. I den første dukker op Kutools til Excel i dialogboksen skal du vælge kolonneintervallet for forfaldsdato og derefter klikke på OK knap. Se skærmbillede:
4. Så det andet Kutools til Excel dialogboksen vises, skal du vælge det tilsvarende kolonneområde, der indeholder modtagerens e-mail-adresser, og klik på OK knap. Se skærmbillede:
5. I det sidste Kutools til Excel dialogboksen, skal du vælge det indhold, du vil vise i e-mail-brødteksten, og derefter klikke på OK .
Derefter oprettes der automatisk en e-mail med den angivne modtager, emne og instans, hvis forfaldsdatoen i kolonne C er mindre end eller lig med 7 dage. Klik på Send knappen for at sende e-mailen.
Noter:
1. Hver oprettet e-mail svarer til en forfaldsdato. For eksempel, hvis der er tre forfaldsdatoer, der opfylder kriterierne, oprettes tre e-mail-meddelelser automatisk.
2. Denne kode udløses ikke, hvis der ikke er nogen datoer, der opfylder kriterierne.
3. VBA-koden fungerer kun, når du bruger Outlook som dit e-mail-program.
Relaterede artikler:
- Hvordan sendes automatisk e-mail baseret på celleværdi i Excel?
- Hvordan sendes en e-mail via Outlook, når projektmappen gemmes i Excel?
- Hvordan sendes e-mail, hvis en bestemt celle ændres i Excel?
- Hvordan sendes e-mail, hvis der klikkes på knappen i Excel?
- Hvordan sendes e-mail-påmindelse eller underretning, hvis projektmappen opdateres i Excel?
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!