Welcome to the forum! Please paste code between code tags so we can see structure. Click # icon on reply toolbar to insert the tags.

1. Put Option Explicit as the first line of code as the first line of code in a Module or Userform.
2. In Visual Basic Editor (VBE) Compile code before a Run. It is in the Debug menu.
3. Fix missing variables where Type was not set in Dim.
4. All variables that will return a row number, make sure that it is type Long. Integers are not big enough for some big row numbers.
5. Why to columns for SendOn?
6. Since the next line after the error calls a function, try commenting the error line out to see if it runs. Even if the SendName was empty it should not have erred. I have not used SendName so I will look at that. Exchange can do some odd things.
a. If this works, try using On Error Resume Next earlier in the code.

I will look at this a bit more. Some parts I may not be able to test. As is, even if it did run without error, it could be very slow.