Here is my attempt at this. I think it could benefit from some more error handling, but I think this should give the basics of what you are trying to accomplish.
Please note that you can select a single cell, as long as it has content within it. You can also select multiple cells by clicking on any blank area of a cell in the corner.
I think this should give a good start to what you are asking for, I know it will help me with another routine.
Please let me know what you think.