Notifications
Clear all

Filtro com macro para ordenar dados da Web não funciona

4 Posts
2 Usuários
0 Reactions
1,006 Visualizações
(@thezein)
Posts: 30
Eminent Member
Topic starter
 

Prezados,

Recebi uma mega ajuda de nosso amigo alexandrevba para usar o "substituir" nas colunas D desta planilha. E fui pidão e pedi ajuda para usar ordenação também.. :D

O objetivo é, toda vez que os dados de conexão forem até a página da WEB os valores retornam, ordenando (usando filtro) todas as linhas em ordem CRESCENTE a partir da coluna E. Mas quando há o 'refresh' não está funcionando.

http://www.sendspace.com/file/284w74

 
Postado : 28/03/2012 12:12 pm
(@thezein)
Posts: 30
Eminent Member
Topic starter
 

Desculpa gente, é coluna F

Como é:

Como deve ficar:

 
Postado : 28/03/2012 12:24 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tentando contribuir,
Veja no anexo, codigo para alterar o ponto para virgula (texttocolum)na propria coluna E, e em seguida faz a "ordenação" pela coluna "E"

Sub Alt_Class()
Dim lrow As Long
lrow = Range("A" & Rows.Count).End(xlUp).Row

    Columns("E:E").Select
    Selection.TextToColumns Destination:=Range("E1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 1), DecimalSeparator:=".", ThousandsSeparator:=",", _
        TrailingMinusNumbers:=True
    Selection.NumberFormat = _
        "_([$$-1004]* #,##0.00_);_([$$-1004]* (#,##0.00);_([$$-1004]* ""-""??_);_(@_)"
    
    ActiveWorkbook.Worksheets("Sheet1").Range("A1:E" & lrow).Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("E2:E" & lrow) _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A1:E" & lrow)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
Range("E1").Select
End Sub
 
Postado : 29/03/2012 1:05 pm
(@thezein)
Posts: 30
Eminent Member
Topic starter
 

Reinaldo. Muito obrigado e parabéns. Ficou excelente.
Resolvido.

 
Postado : 01/04/2012 12:31 pm