Hi again,
Thanks for the feedback, and sorry, that was my fault! 
To try to speed things up I had disabled automatic calculation, but forgot that the email address of the current UserName must be determined (by calculation) each time. The highlighted additional line in the following routine will do what is required.
The code can create as many emails as you like, but a possible "bottleneck" is the number of emails which your email service provider will accept. In a different application (using Gmail via Outlook) I've restricted the size of a "batch" of emails to 80, and have not encountered problems to date.
It should be a relatively straightforward job for you to send your emails in appropriately-sized batches.
Regards,
Greg M
P.S.
The thing is that in Sheet "Addresses" columns A and B will contain around 2000 addresses, like a contact book. A static list, prone to review once in a while.
The code should only lookup the Name (column B, Sheet "List") into Sheet "Addresses" column A and generate the e-mail text to the address (column B) matching that name.
Is this possible? I think it's a much more clean and simple approach, what do you think?
This is the approach used in the current and previous workbooks.
Bookmarks