I don't know enough of VBA concepts to implement a bubble sort.
The way I see it, you just implement a regular bubble sort. The only modification is that you surround it with a for-loop which bubblesort each column. That's why I don't get this statement:
Code:
For j = First To (Last - i - 1)
Since integer i seems the outer for loop which should iterate over the columns, while the inner for-loop (or loops) does an actual bubblesort. Otherwise, consult
http://en.wikipedia.org/wiki/Bubble_sort because this is far too technical for this board

.