Last edited by BARIS; 08-24-2012 at 02:09 PM.
Hi
try this one. Also put this code in a standard module, not in class module.
Code:Sub SendEmailRowByRow() Dim OutApp As Object Dim OutMail As Object Dim strBody As String Dim LastRow As Long Dim eMailIDs, i As Long Dim varBody Const StartRow As Long = 1 '<<< adjust to suit If Not Application.Intersect(Range("I:I"), ActiveSheet.UsedRange) Is Nothing Then LastRow = Range("I" & Rows.Count).End(xlUp).Row eMailIDs = Range("I" & StartRow).Resize(LastRow - StartRow + 1) For i = 1 To UBound(eMailIDs, 1) Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) varBody = Range("a" & StartRow + i - 1).Resize(, 7).Value strBody = Join(Application.Transpose(Application.Transpose(varBody)), vbTab) On Error Resume Next With OutMail .To = eMailIDs(i, 1) 'email from corresponding row goes here .CC = "" .BCC = "" .Subject = "Expired account notification" '<< adjust subject line .Body = strBody 'You can add a file like this '.Attachments.Add ("C:\") ' .Display .Send Application.Wait Now + TimeSerial(0, 0, 3) Set OutMail = Nothing Set OutApp = Nothing End With On Error GoTo 0 Next End If End Sub
Cheers !
Excel Range to BBCode Table
Use Social Networking Tools If You Like the Answers !
Message to Cross Posters
@ Home - Office 2010/2013/2016 on Win 10 (64 bit); @ Work - Office 2016 on Win 10 (64 bit)
It works flawless!
Thank you so much!
Baris
Last edited by Admin; 08-24-2012 at 06:25 PM.
Hi
Thanks for the feedback.![]()
Cheers !
Excel Range to BBCode Table
Use Social Networking Tools If You Like the Answers !
Message to Cross Posters
@ Home - Office 2010/2013/2016 on Win 10 (64 bit); @ Work - Office 2016 on Win 10 (64 bit)
Hi Again,
How can I add cell C(i) to subject line into each email?
What I need to print to subject field for the first line is, for example, "customer11, expired account" etc..
Here is the script and the excel file I run in my pc:
Code:Sub SendEmailRowByRow() Dim OutApp As Object Dim OutMail As Object Dim strBody As String Dim LastRow As Long Dim eMailIDs, i As Long Dim varBody Const StartRow As Long = 1 '<<< adjust to suit If Not Application.Intersect(Range("I:I"), ActiveSheet.UsedRange) Is Nothing Then LastRow = Range("I" & Rows.Count).End(xlUp).Row eMailIDs = Range("I" & StartRow).Resize(LastRow - StartRow + 1) For i = 1 To UBound(eMailIDs, 1) Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) varBody = Range("a" & StartRow + i - 1).Resize(, 7).Value strBody = Join(Application.Transpose(Application.Transpose(varBody)), vbTab) On Error Resume Next With OutMail .To = eMailIDs(i, 1) 'email from corresponding row goes here .CC = "" .BCC = "" .Subject = "Expired account notification" '<< adjust subject line .Body = strBody 'You can add a file like this '.Attachments.Add ("C:\") ' .Display .Send Application.Wait Now + TimeSerial(0, 0, 3) Set OutMail = Nothing Set OutApp = Nothing End With On Error GoTo 0 Next End If End Sub
Code:.Subject = varBody(1, 3) & ", Expired account notification"
A dream is not something you see when you are asleep, but something you strive for when you are awake.
It's usually a bad idea to say that something can't be done.
The difference between dream and aim, is that one requires soundless sleep to see and the other requires sleepless efforts to achieve
Join us at Facebook
HI
like
Code:.Subject = Range("C" & i).Value & ", Expired account notification"
Cheers !
Excel Range to BBCode Table
Use Social Networking Tools If You Like the Answers !
Message to Cross Posters
@ Home - Office 2010/2013/2016 on Win 10 (64 bit); @ Work - Office 2016 on Win 10 (64 bit)
So in your attachment, you can check column N like this
You'll have to make the adjustments..... if it's not clear, post back with a sample of the excel saved attachmentsCode:If Range("N" & lngRow).Value < 5 Then 'your code to send the message 'in the To part, use Range("C" & lngRow).Value Else 'Do Nothing End if
A dream is not something you see when you are asleep, but something you strive for when you are awake.
It's usually a bad idea to say that something can't be done.
The difference between dream and aim, is that one requires soundless sleep to see and the other requires sleepless efforts to achieve
Join us at Facebook
Dear Excel fox and Admin,
Last evening I sent 120 email messages with just one click.
Thanks for your help
Now, I have another question. If I should open a new thread, let me know.
I would like to reply my email messages automatically.
When I receive an email which includes "information" phrase in subject line shall be replied with the same excel file which I uploaded earlier to this board. In addition to replying every single email, it will print receipent's email address into excel file to right side cell of related line.
Thanks in advance
Baris
Bookmarks