Your answer seems to implement merge sort, which is an asymptotically optimal solution.
This is one of the most beautiful VBA impementations I have seen. It is so elegant, even moving common code to a different block will require complicated logic.
enjoy your christmas early and quit bothering other programmers :)