Πώς να στείλετε email εάν έχει πληρωθεί η προθεσμία στο Excel;
Όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης, εάν η ημερομηνία λήξης στη στήλη Γ είναι μικρότερη ή ίση με 7 ημέρες (για παράδειγμα, η τρέχουσα ημερομηνία είναι 2017/9/13), αποστέλλεται ένα μήνυμα ηλεκτρονικού ταχυδρομείου στον καθορισμένο παραλήπτη στη στήλη Α και Το καθορισμένο περιεχόμενο στη στήλη Β εμφανίζεται στο σώμα του μηνύματος ηλεκτρονικού ταχυδρομείου. Πώς θα μπορούσατε να κάνετε για να το πετύχετε; Αυτό το άρθρο παρέχει έναν κώδικα VBA για να σας βοηθήσει να ολοκληρώσετε αυτήν την εργασία.
Στείλτε email εάν πληρούται η ημερομηνία λήξης με τον κωδικό VBA
Στείλτε email εάν πληρούται η ημερομηνία λήξης με τον κωδικό VBA
Κάντε τα εξής για να στείλετε μια υπενθύμιση μέσω ηλεκτρονικού ταχυδρομείου εάν η προθεσμία έχει εκπληρωθεί στο Excel.
1. Πάτα το άλλος + F11 ταυτόχρονα για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.
2. Στο Microsoft Visual Basic για εφαρμογές παρακαλώ κάντε κλικ Κύριο θέμα > Μονάδα μέτρησης. Στη συνέχεια, αντιγράψτε και επικολλήστε τον παρακάτω κώδικα VBA στο παράθυρο Module.
Κωδικός VBA: Στείλτε email εάν η ημερομηνία λήξης είναι κλειστή στο 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
Notes: Η γραμμή Εάν CDate (xRgDateVal) - Ημερομηνία <= 7 Και CDate (xRgDateVal) - Ημερομηνία> 0 Στη συνέχεια, στον κωδικό VBA σημαίνει ότι η ημερομηνία λήξης πρέπει να είναι μεγαλύτερη από 1 ημέρα και μικρότερη ή ίση με 7 ημέρες. Μπορείτε να το αλλάξετε όπως χρειάζεστε.
3. Τύπος ο Πλήκτρο F5 για εκτέλεση του κώδικα. Στην πρώτη εμφάνιση Kutools για Excel πλαίσιο διαλόγου, επιλέξτε το εύρος ημερομηνιών λήξης της ημερομηνίας και στη συνέχεια κάντε κλικ στο OK κουμπί. Δείτε το στιγμιότυπο οθόνης:
4. Στη συνέχεια, το δεύτερο Kutools για Excel εμφανίζεται το παράθυρο διαλόγου, επιλέξτε το αντίστοιχο εύρος στηλών που περιέχει τις διευθύνσεις email των παραληπτών και κάντε κλικ στο OK κουμπί. Δείτε το στιγμιότυπο οθόνης:
5. Στο τελευταίο Kutools για Excel πλαίσιο διαλόγου, επιλέξτε το περιεχόμενο που θέλετε να εμφανιστεί στο σώμα του email και, στη συνέχεια, κάντε κλικ στο OK κουμπί.
Στη συνέχεια, ένα email θα δημιουργηθεί αυτόματα με τον καθορισμένο παραλήπτη, το θέμα και το σώμα να αναγράφονται εάν η ημερομηνία λήξης στη στήλη Γ είναι μικρότερη ή ίση με 7 ημέρες. Κάντε κλικ στο Αποστολή κουμπί για να στείλετε το email.
Notes:
1. Κάθε δημιουργημένο email αντιστοιχεί σε προθεσμία. Για παράδειγμα, εάν υπάρχουν τρεις προθεσμίες που πληρούν τα κριτήρια, θα δημιουργηθούν αυτόματα τρία μηνύματα email.
2. Αυτός ο κωδικός δεν θα ενεργοποιηθεί εάν δεν υπάρχουν ημερομηνίες που πληρούν τα κριτήρια.
3. Ο κωδικός VBA λειτουργεί μόνο όταν χρησιμοποιείτε το Outlook ως πρόγραμμα ηλεκτρονικού ταχυδρομείου.
Σχετικά άρθρα:
- Πώς να στέλνετε αυτόματα email με βάση την τιμή κελιού στο Excel;
- Πώς να στείλετε ένα email μέσω του Outlook όταν το βιβλίο εργασίας είναι αποθηκευμένο στο Excel;
- Πώς να στείλετε email εάν ένα συγκεκριμένο κελί έχει τροποποιηθεί στο Excel;
- Πώς να στείλετε email εάν κάνετε κλικ στο κουμπί στο Excel;
- Πώς να στείλετε υπενθύμιση μέσω email ή ειδοποίηση εάν το βιβλίο εργασίας είναι ενημερωμένο στο Excel;
Τα καλύτερα εργαλεία παραγωγικότητας γραφείου
Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου. Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...
Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη
- Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
- Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
- Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!