Эта Sub
читает выбранные ячейки (столбец), к которым применяется условие, выполняет тест, если True читает электронную почту, тему, текст, отправляет электронную почту и пишет Sent
в той же строке после отправки.
Работает с Outlook
Column 1 Column 2 Column 3 column 4 column 5 column 6
80 email Manager Name Body Text Employee Name Sent or empty
Вы можете изменить ячейку (s, c+2), ячейку (s, c+4) ..., чтобы соответствовать вашим столбцам
например, G2 (столбец 2) будет ячейкой (s, c+6), если A2 - столбец 1, и переместите остальные в соответствии с вашими данными
Вы должны выбрать ячейки в столбце 1 и Sub продолжится
Sub SendReminderMail()
Dim s As Long, c As Long
Dim OutLookApp As Object
Dim OutLookMailItem As Object
Dim strBody As String
Set OutLookApp = CreateObject("Outlook.application")
Set OutLookMailItem = OutLookApp.CreateItem(0)
For Each Cell In Selection
Cell.Select
s = ActiveCell.Row
c = ActiveCell.Column
If Cells(s, c).Value > 80 And Cells(s, c).Value < 90 Then
strBody = Cells(s, c + 3) & " " & Cells(s, c + 4)
Set OutLookMailItem = OutLookApp.CreateItem(0)
With OutLookMailItem
.To = Cells(s, c + 1).Value
.Subject = "Reminder: "
.Body = "Dear " & Cells(s, c + 2).Value & "," & vbCrLf & vbCrLf & strBody
.Display ' or .Send
End With
Cells(s, c + 5) = "Sent"
End If
Next Cell
End Sub