Me temo que tienes que trasladar los datos de las columnas posteriores a los de la anterior. Algo parecido a este código.
Código:
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
On Local Error Resume Next
Dim i As Integer
Dim j As Integer
If ColumnHeader.Index > 1 Then
If ColumnHeader.Index < Me.ListView1.ColumnHeaders.Count Then
For i = 1 To Me.ListView1.ListItems.Count
For j = ColumnHeader.Index To Me.ListView1.ColumnHeaders.Count - 1
Me.ListView1.ListItems(i).SubItems(j - 1) = Me.ListView1.ListItems(i).SubItems(j)
Next j
Next i
End If
Me.ListView1.ColumnHeaders.Remove ColumnHeader.Index
End If
End Sub