Pela imagem apenas, ficarei no achometro. Acho eu que o simbolo  "°" está concatenado ao numero do ranking; resultando assim em um texto.
Como texto a ordem está correta.
Reinaldo, 
Eu utilizo esse código para carregar a listview:
With Me.ListView4
         .ColumnHeaders.Clear
         .ListItems.Clear
         .View = lvwReport
         .FullRowSelect = True
    Sheets("GRAFICO_CLIENTE").Select
    Application.OnKey "{Escape}", ""
           With UserForm80.ListView4
                .Gridlines = True
                .View = lvwReport
                .FullRowSelect = True
                .ColumnHeaders.Add Text:="ID"
                .ColumnHeaders.Add Text:="Centro de Custo"
                .ColumnHeaders.Add Text:="Conta Razão"
                .ColumnHeaders.Add Text:="Cliente"
                .ColumnHeaders.Add Text:="Total Ano"
                .ColumnHeaders.Add Text:="Ranking"
               
             
          End With
    Dim lastrow
    Dim X
    Dim li
           
            'Adiciona itens
    For X = 42 To 199 'aqui ele preenchera até a linha 30, mas eu quero que preencha até a ultima linha que possua dados.
    If Plan30.Cells(X, "y").Value <> "" Then
              Set li = ListView4.ListItems.Add(Text:=Plan30.Cells(X, "y").Value)
              li.ListSubItems.Add Text:=Format(Plan30.Cells(X, "z").Value, "0.00")
              li.ListSubItems.Add Text:=Format(Plan30.Cells(X, "aa").Value, "0.00")
              li.ListSubItems.Add Text:=Format(Plan30.Cells(X, "ab").Value, "0.00")
              li.ListSubItems.Add Text:=Format(Plan30.Cells(X, "ac").Value, "0.00")
              li.ListSubItems.Add Text:=Format(Plan30.Cells(X, "aD").Value, "0°")
    End If
    Next
    Call TamanhoColAutomatico4
    End With
                                                                                                	                                                
	                                         
                    
                    	
                            Postado : 29/10/2015 10:20 am