Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por SandroLima 29 Mai 2020 às 19:31
Membro 5 Estrelas
Mensagens: 674
Reputação: 11
#55392
Boa noite, pessoal

Estou aproveitando essa macro de uma outra planilha e nesta ela não faz a organização das datas.

Poderiam me apontar o erro?

Segue planilha anexa.
Apenas usuários registrados podem ver ou baixar anexos.
Por SandroLima 31 Mai 2020 às 14:52
Membro 5 Estrelas
Mensagens: 674
Reputação: 11
#55413
Boa tarde, pessoal

Alguém sabe o erro que estou fazendo?

Transcrevi essa macro de outra planilha... serve para ordenar conforme as datas.

Alguém poderia apontar qual meu erro?
Por JCabral 31 Mai 2020 às 20:02
Membro 4 Estrelas
Mensagens: 439
Reputação: 87
#55416
Caro SandroLima

Essa sua macro, Ordena_Itens_Serviços, não ordena rigorosamente nada!

Pretende ordenar a sua tabela, como? Pela data?
Por babdallas 01 Jun 2020 às 08:22
Excel Expert
Mensagens: 2941
Reputação: 1280
#55423
Código: Selecionar todosTabela.DataBodyRange.Sort Key1:=Tabela.ListColumns("Data").DataBodyRange, _
                                Order1:=xlAscending, Header:=xlYes
Por SandroLima 01 Jun 2020 às 18:51
Membro 5 Estrelas
Mensagens: 674
Reputação: 11
#55457
Boa noite, prezados.

Consegui finalmente ajustar.

A macro funciona corretamente e preciso dela nessa estrutura pq serão inseridos vários passos para o correto ordenamento.

O primeiro erro estava nessa linha:
Código: Selecionar todosSet RngCol = Range(Cells(IniLin, ColNum), Cells(UltLin, ColNum))


O correto era:
Código: Selecionar todosSet RngCol = Range(Cells(IniLin, ColData), Cells(UltLin, ColData))


E depois ao final do código estava faltando esse trecho:
Código: Selecionar todosIf Not RngTabela Is Nothing Then
            Plan.Sort.SortFields.Clear
            Plan.Sort.SortFields.Add Key:=RngCol, _
                SortOn:=SortTipo, Order:=SortOrdem, DataOption:=xlSortNormal
               
            With Plan.Sort
                .SetRange RngTabela: .Header = xlGuess: .MatchCase = False
                .Orientation = xlTopToBottom: .SortMethod = xlPinYin: .Apply
            End With
        End If


Agora está rodando novamente.

Muito obrigado pela ajuda.