PS. I tried it for several cases and the final message is added just for very weird data (like half of the set one date, second half second date).
Otherwise the macro is reasonably effective and quick. Of cousre for complicated workbooks it could be wise to switch Excel to manual recalculation mode before the macro and back to automatic after.
Also for really big datasets transfering all data into array and then swaping array rows would probably improve speed, but you were referring to hundreds, so working within worksheet shall be fine..