Sent status "Done" VBA

cynthixie

New Member
Joined
Aug 17, 2022
Messages
12
Office Version
  1. 2019
Platform
  1. Windows
Hi! Excuse my ignorance but I would like to add a "sent status" column. When the message have been sent, then in column I = "Done"

1660822391028.png

Here is my code:


Sub Mail()

Dim objOutlook As Object
Set objOutlook = CreateObject("Outlook.Application")
Dim objEmail As Object
Set objEmail = objOutlook.CreateItem(oMailItem)
Dim strMailBody As String
Dim Cel As Range

For Each Cel In Sheets("MS_Data").Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row)

If Cel.Offset(0, 8).Value = "y" Then

Set objEmail = objOutlook.CreateItem(oMailItem)

StrMailSubject = ThisWorkbook.Sheets("Mail_Details").Range("A2").Text
strMailBody = "<BODY style='font-size:11pt;font-family:Calibri(Body)'>" & ThisWorkbook.Sheets("Mail_Details").Range("B2").Text & "</BODY>"
strMailBody = Replace(strMailBody, Chr(10), "<br>")

strFolder = "C:\Users\CIOTTIC\OneDrive - IAEA\Desktop\AL TEST"

strISO = Cel.Offset(0, 1).Value
strSalutation = Cel.Offset(0, 2).Value
strEmail = Cel.Offset(0, 3).Value
strCC = Cel.Offset(0, 4).Value
strFile = Cel.Offset(0, 5).Value
strFile2 = Cel.Offset(0, 6).Value
strFile3 = Cel.Offset(0, 7).Value
'
StrMailSubject = Replace(StrMailSubject, "<ISO>", strISO)
strMailBody = Replace(strMailBody, "<Salutation>", strSalutation)

With objEmail
.To = CStr(strEmail)
.CC = CStr(strCC)
.Subject = StrMailSubject
.BodyFormat = olFormatHTML
.Display
.Attachments.Add strFolder & "\" & strFile
.Attachments.Add strFolder & "\" & strFile2
.Attachments.Add strFolder & "\" & strFile3
.HTMLBody = strMailBody & .HTMLBody
End With

End If
Next Cel

MsgBox "All the mails have been display successfully"

End Sub


Thank you and best regards!
Cynthia
 

Excel Facts

Does the VLOOKUP table have to be sorted?
No! when you are using an exact match, the VLOOKUP table can be in any order. Best-selling items at the top is actually the best.
Before "Next Cel" you could add something like
VBA Code:
Cel.Offset(0, 9).Value = True
 
Upvote 0
Sorry, think that line should be before the "end If" Offset(0, 7) should be "J"
 
Upvote 0
Hi, how about:
VBA Code:
End With     
        Cel.Offset(0, 9).Value = "DONE" 'Column J
    End If
Next Cel
 
Upvote 0
Solution

Forum statistics

Threads
1,223,893
Messages
6,175,248
Members
452,623
Latest member
cliftonhandyman

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top