Χρησιμοποίησα λοιπόν αυτό το εξαιρετικό άρθρο
Πώς να στείλετε αυτόματα email με βάση την τιμή του κελιού στο Excel; (extendoffice.com) και συγκέντρωσα απαντήσεις από τις απαντήσεις για να λειτουργήσει όπως το χρειάζομαι, αλλά το τελευταίο κομμάτι που δεν μπορώ να καταλάβω είναι πώς να αντιγράψω αυτό που έκανα για να τρέξω για πολλά κελιά. Προσπάθησα να αντιγράψω/επικολλήσω και να αναδιατάξω τον κώδικα με διαφορετικές τιμές όπως C4, C5 κ.λπ. αλλά πάντα λαμβάνω σφάλματα. Λειτουργεί τέλεια σε σημείο που, εάν η τιμή στο C3 είναι < 5, θα στείλει ένα μήνυμα ηλεκτρονικού ταχυδρομείου όταν αποθηκευτεί το βιβλίο εργασίας. Αυτό που χρειάζομαι τώρα, δεδομένου ότι πρόκειται για ένα φύλλο αποθέματος, είναι να ελέγχονται πολλές άλλες τιμές κελιών σε διαφορετικές τιμές . Για παράδειγμα, εάν μόνο C3 < 5 στείλετε ένα email. Εάν μόνο το C4 είναι < 6 στείλτε ένα email. Εάν C3 < 5, C4 είναι < 6 και C5 < 3 στείλτε ένα email. Θα ήταν ωραίο να δημιουργείται μόνο ένα μήνυμα ηλεκτρονικού ταχυδρομείου κατά την αποθήκευση με όλες τις τιμές που ταιριάζουν με τα κριτήρια <. Σε πραγματικούς όρους (όχι κωδικοποιητικούς όρους), το υπολογιστικό φύλλο είναι ένα μέρος όπου οι τεχνικοί μπορούν να ελέγχουν και να βγάζουν αντικείμενα από την αποθήκευση. Αυτό που προσπαθώ να κάνω είναι να αποστέλλεται αυτόματα ένα μήνυμα ηλεκτρονικού ταχυδρομείου όταν κάποιος αποθηκεύει το βιβλίο εργασίας και το επίπεδο αποθέματος ενός αντικειμένου έχει πέσει κάτω από μια συγκεκριμένη τιμή, ώστε να γνωρίζω ότι μια παραγγελία πρέπει να υποβληθεί σύντομα. Μέχρι στιγμής αυτός είναι ο κωδικός μου:
Αυτό το βιβλίο εργασίας
Private Sub Workbook_AfterSave (ByVal Success As Boolean)
On Error Συνέχιση Επόμενη
Dim xI ως ακέραιος αριθμός
Dim xRg ως εύρος
Ορισμός xRg = Εύρος ("Πληροφορίες!C3")
xI = Int(xRg.Value)
Αν xI < 5 Τότε
Καλέστε το Mail_small_Text_Outlook
End If
Sub End
Ενότητα 1
Sub Mail_small_Text_Outlook()
Dim xOutApp ως αντικείμενο
Dim xOutMail ως αντικείμενο
Dim xMailBody ως συμβολοσειρά
Ορισμός xOutApp = CreateObject ("Outlook.Application")
Ορισμός xOutMail = xOutApp.CreateItem(0)
xMailBody = "Γεια σου" & vbNewLine & vbNewLine & _
"Αυτή είναι η γραμμή 1" & vbNewLine & _
Εύρος ("Information!C3") & vbNewLine & _
"Αυτή είναι η γραμμή 2"
On Error Συνέχιση Επόμενη
Με xOutMail
.To = "Διεύθυνση ηλεκτρονικού ταχυδρομείου"
.CC = ""
.BCC = ""
.Θέμα = "αποστολή με δοκιμή τιμής κελιού"
.Body = xMailBody
.Εμφάνιση ή χρήση .Αποστολή
Τέλος με
Στο σφάλμα GoTo 0
Ορισμός xOutMail = Τίποτα
Ρύθμιση xOutApp = Τίποτα
Sub End