Тому я використав цю чудову статтю
Як автоматично надсилати електронну пошту на основі значення клітинки в Excel? (extendoffice.com) і зібрав відповіді з відповідей, щоб це запрацювало, як мені потрібно, але остання частина, яку я не можу зрозуміти, це як дублювати те, що я зробив, щоб запустити кілька комірок. Я намагався скопіювати/вставити та змінити код із різними значеннями, наприклад C4, C5 тощо, але завжди отримую помилки. У мене це чудово працює: якщо значення в C3 < 5, він надішле електронний лист, коли робочу книгу буде збережено. Що мені зараз потрібно, оскільки це для аркуша інвентаризації, так це мати кілька інших значень клітинок, перевірених на різні значення . Наприклад, якщо лише C3 < 5, надішліть електронний лист. Якщо лише C4 менше 6, надішліть електронний лист. Якщо C3 < 5, C4 < 6 і C5 < 3, надішліть електронний лист. Було б непогано, якби під час збереження генерувався лише один електронний лист із усіма значеннями, які відповідають критеріям <. З точки зору реального світу (а не термінів кодування), електронна таблиця є місцем, де технічні спеціалісти можуть перевіряти та видаляти елементи зі сховища. Що я намагаюся зробити, так це автоматичне надсилання електронного листа, коли хтось зберігає робочу книгу, а рівень запасів товару впав нижче певного значення, тому я знаю, що замовлення потрібно розмістити найближчим часом. Поки що це мій код:
ThisWorkbook
Приватна підпорядкована книга_AfterSave(ByVal Success As Boolean)
On Error Resume Next
Dim xI як ціле число
Dim xRg As Range
Встановити xRg = Range("Information!C3")
xI = Int(xRg.Value)
Якщо xI < 5 Тоді
Телефонуйте Mail_small_Text_Outlook
End If
End Sub
Модуль1
Sub Mail_small_Text_Outlook()
Зменшіть xOutApp як об’єкт
Змінити xOutMail як об’єкт
Заглушити xMailBody як рядок
Встановіть xOutApp = CreateObject("Outlook.Application")
Встановити xOutMail = xOutApp.CreateItem(0)
xMailBody = "Привіт" & vbNewLine & vbNewLine & _
"Це рядок 1" & vbNewLine & _
Range("Information!C3") & vbNewLine & _
«Це рядок 2»
On Error Resume Next
За допомогою xOutMail
.To = "Адреса електронної пошти"
.CC = ""
.BCC = ""
.Subject = "відправити тестом значення комірки"
.Body = xMailBody
.Відобразити або використовувати .Send
Кінець з
При помилці GoTo 0
Встановіть xOutMail = Нічого
Встановіть xOutApp = Нічого
End Sub