a. If it was already processed, the log sheet knows it. Why would you want to send it again? You may need change this but maybe the formula for c would be sufficient.
b. Yes, but there are lots of considerations. e.g. Were all entries processed?
(1) What if you delete Data rows? Just change the unique column formula. e.g. All Data rows deleted. The first formula would be to add the last unique number to Row() in the formula. Doing it this way, your log sheet would likely never need to be changed until you get to the last row...
3) Do it like I did the .To but use .CC. Multiple CC's or TO's can be done just like you do in Outlook. It can be a Group that exists in the user's Outlook AddressBook or semi-colon delimited. e.g. [email protected];[email protected].
You may need to do an IF to make sure that the value for CC <> "".
4) You said that you wanted one user. If you want ALL then delete the username IF. If you want limited users, say your username at work and username at home or others then add OR's. If you have many but still limited, a Select Case might be more best. My rule for such is usually 4 or more.