Sending emails from excel based on row - Urgent

exceluser9

Active Member
Joined
Jun 27, 2015
Messages
387
Hi Team,

I have a data as below and the data starts from row 3. Row 1 and 2 are headers.

What i want macro to do is to create a new workbook for respective user and draft an email with standard text from outlook. In below example for James there should be 2 emails generated because the name is same and the email address is different.

Also if the generic mail id is different then it has to create a new workbook for this generic id.

So the logic will be based on Generic mailid, User and User email and these headers are in row 2

Generic mailid - column E
User - column - H
User email address column P

Data will be until row AZ


Text is - Please go through attached file.


Workbook should be created from row 1 till the end of the data.

IDFromDateCountryGeneric mailidContracter nameActivityUserReporterFormTATDaysFormTATDaysUser email
8675John05/03/2019ENGRoy@gmail.comMullerSetupWrightRonak Wight@gmail.com
78678Kevin13/03/2019ASTRoy@gmail.comDanoneSetupJamesRonak James@gmail.com
8679Johny05/04/2019RSRoy@gmail.comNestleSetupVinceRoy Vince@gmail.com
78673Kevin Peter13/02/2019ITRoy@gmail.comChocoSetupJamesRonak James@gmail.com
8787Paul13/03/2019ITRoy@gmail.comDominosSetupJamesJaison Jamesorg@gmail.com
86752John05/03/2019ENGRoy@ymail.comMullerSetupWrightRonak Wight@gmail.com
786784Kevin13/03/2019ASTRoy@ymail.comDanoneSetupJamesRonak James@gmail.com
86796Johny05/04/2019RSRoy@ymail.comNestleSetupVinceRoy Vince@gmail.com
786739Kevin Peter13/02/2019ITRoy@ymail.comChocoSetupJamesRonak James@gmail.com
87875Paul13/03/2019ITRoy@ymail.comDominosSetupJamesJaison Jamesorg@gmail.com

<colgroup><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col></colgroup><tbody>
</tbody>

Thanks
 

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.
I did not understand what data should go in each book.
Or is it the same book for all emails?
 
Upvote 0
Hi Dante,

After each filter based on user and email addess the visible cell data should go into the new workbook
 
Upvote 0
Then you can explain again in detail and examples: send to: subject: body: name of each book. with headers? Maybe it's obvious to you. But I have no idea about your information.
 
Upvote 0
Hi,

I require below data in attachment.

Workbook 1

IDFromDateCountryGeneric mailidContracter nameActivityUserReporterFormTATDaysFormTATDaysUser email
8787Paul13/03/2019ITRoy@gmail.comDominosSetupJamesJaison Jamesorg@gmail.com
87875Paul13/03/2019ITRoy@ymail.comDominosSetupJamesJaison Jamesorg@gmail.com

<colgroup><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col></colgroup><tbody>
</tbody>

Workbook 2

IDFromDateCountryGeneric mailidContracter nameActivityUserReporterFormTATDaysFormTATDaysUser email
78678Kevin13/03/2019ASTRoy@gmail.comDanoneSetupJamesRonak James@gmail.com
78673Kevin Peter13/02/2019ITRoy@gmail.comChocoSetupJamesRonak James@gmail.com
786784Kevin13/03/2019ASTRoy@ymail.comDanoneSetupJamesRonak James@gmail.com
786739Kevin Peter13/02/2019ITRoy@ymail.comChocoSetupJamesRonak James@gmail.com

<colgroup><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col></colgroup><tbody>
</tbody>

Workbook 3

8679Johny05/04/2019RSRoy@gmail.comNestleSetupVinceRoy Vince@gmail.com
86796Johny05/04/2019RSRoy@ymail.comNestleSetupVinceRoy Vince@gmail.com





<colgroup><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col></colgroup><tbody>
</tbody>

Workbook 4

IDFromDateCountryGeneric mailidContracter nameActivityUserReporterFormTATDaysFormTATDaysUser email
8675John05/03/2019ENGRoy@gmail.comMullerSetupWrightRonak Wight@gmail.com
86752John05/03/2019ENGRoy@ymail.comMullerSetupWrightRonak Wight@gmail.com

<colgroup><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col></colgroup><tbody>
</tbody>
 
Upvote 0
Try this.
Change Sheet1 by the name of your sheet.

Code:
Sub Sending_emails()
  Dim c As Range, sh As Worksheet, Ky As Variant, dam As Variant, dict As Object
  Dim correo As String, lr As Long, wFile As String
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  
  Set sh = Sheets("[COLOR=#ff0000]Sheet1[/COLOR]")
  If sh.AutoFilterMode Then sh.AutoFilterMode = False
  lr = sh.Range("E" & Rows.Count).End(xlUp).Row
  sh.Range("AA:AA").ClearContents
  For Each c In sh.Range("E2", sh.Range("E" & Rows.Count).End(xlUp))
    sh.Range("AA" & c.Row) = c & sh.Range("H" & c.Row) & sh.Range("P" & c.Row)
  Next
  
  Set dict = CreateObject("scripting.dictionary")
  For Each c In sh.Range("AA2", sh.Range("AA" & Rows.Count).End(xlUp))
    dict.Item(c.Value) = sh.Range("P" & c.Row)
  Next
  For Each Ky In dict.Keys
    correo = dict(Ky)
    sh.Range("A1:AA" & lr).AutoFilter Columns("AA").Column, Ky
    Workbooks.Add
    sh.AutoFilter.Range.EntireRow.Copy Range("A1")
    Range("AA:AA").ClearContents
    wFile = ThisWorkbook.Path & "\book.xlsx"
    ActiveWorkbook.SaveAs wFile
    ActiveWorkbook.Close False
    Set dam = CreateObject("Outlook.Application").CreateItem(0)
    dam.To = correo
    dam.Subject = "Please go through attached file."
    dam.Body = "body"
    dam.Attachments.Add wFile
    dam.Display   'use .Send to send
  Next Ky
  sh.ShowAllData
  MsgBox "Done"
End Sub
 
Upvote 0
Hi Dante,

I have tried the code and im receiving error message as runtime error 1004 stating we cant do that at a merged cell from sh.Range("AA:AA").ClearContents and it continues

In my sheet the data starts from A3 and in A1, A2 there are few merged cells. Could could be amended?

Also i want to enter CC email address as well and in column "E" will have different generic email address can outlook use that as from email address?

Can outlook also pick signature?

Thanks
 
Upvote 0

Forum statistics

Threads
1,213,482
Messages
6,113,913
Members
448,532
Latest member
9Kimo3

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