Excel VBA workbook for splitting email address data
This is a workbook I created with VBA code to resolve an issue where a contact list is exported, but the export puts multiple email address into one cell and separates them using a semicolon character.

This can happen where an export query in a CRM system uses the MS SQL STUFF() function.
For the email address list to be of use in a csv file for merging or email broadcast, each email address should be in its own row with applicable company contact data.
This code expands an email address list by putting each email address in its own row, but also retains the rest of the contact data. There is also basic cleaning functionality to remove excess spacing, remove Excel hyperlinks and convert email addresses to lower case. Rows with no email address are ignored, as these records would be of no use for emailing purposes.

The workbook will work out how many rows of data are in use, so there is no need to amend formulae in the workbook with this information.
There is a small amount of test data in the workbook so that the functionality can be easily demonstrated on download, but you can safely remove this for personal use.
Simply paste your data into the 'Source' worksheet from cell A2 onwards. Your email addresses must reside in column A. Click the button in the top-left (cell A1) to run the process. Your processed data will then be found in the 'Output' worksheet.
Don't forget to enable macros when using the workbook