Hey Tony thanks for the tip on which column was being picked for sorting. I corrected that and it works fine now.

Going a step ahead, I've found a way to delete the empty rows on top. Here it is, I've inserted it after the array has been transferred to the listbox and sorted

[VBA]
For j = 0 To 200
If MyList1$(j, 0) = "" Then
ListBox1.RemoveItem (ListBox1.ListIndex + 1)
End If
Next j
[/VBA]

This has done the trick for what I wanted. This problem is now solved. Thanks guys.