To SamT:

Because Ranges are also involved in the tab order and not just the ActiveX. I have not shown that in the file though.

My sole issue is getting the macros in the cells to run.

Is there a way to take the argument piece from the cell, check whether a similar parameter exists in the 'SelectMacrosToRun' and use that as parameter. If so the object would get passed as parameter like we wanted. Right?