I was kind of thinking along the lines of loading each column into
an array. Then loading the column i wanted to sort by into another
array,then sort it. By comparing the sorted and unsorted arrays it'd
be possible to find the index of the value in the original array.
Then it's just a case of extracting that same index from all the
other arrays and writing them back into the worksheet. The only
thing i'm not certain about is how it'd deal with things if two
values in the sorted array were identical.
Your worksheet approach might be a slightly easier way of doing the
same thing!