Notifications
Clear all

Ordenar valores de 6 digitos

4 Posts
4 Usuários
0 Reactions
940 Visualizações
(@danielrs)
Posts: 1
New Member
Topic starter
 

Pessoal gostaria de saber se tem como distribuir e ordenar valores de 6 dígitos em uma tabela ex.: tenho códigos em uma coluna da tabela1 coluna J
316227
313522
316152
311952
311529
312656
314181
312853
311757
315731

Os códigos não possuem zeros começam em 111111 e vai até 999999, quero ordena-los na tabela2 na medida que um valor é inserido na coluna J da tabela1 desta forma: os códigos não precisam estar ordenados da esquerda para direita(são inseridos por ordem de chegada) mas precisam estar ordenados de cima para baixo EX.:

311952 311529 311757
312656 312853
313522
314181
315731
316152 316227

O que define a ordenação é os 3 primeiros dígitos veja 311, 312, 313, 314, 315, 316 (quando chega em 319 pula para 321)

 
Postado : 29/07/2016 7:01 pm
DJunqueira
(@djunqueira)
Posts: 772
Prominent Member
 

Mas qual o mistério de ordenar números?
Vai em Classificar e escolhe de A-Z ou Z-A.

Se sua dúvida foi respondida marque o tópico como RESOLVIDO usando o botão com marca verde.

 
Postado : 30/07/2016 5:56 am
 xoxe
(@xoxe)
Posts: 18
Active Member
 

Caso queira automatico, cria uma macro

 
Postado : 30/07/2016 7:56 am
(@osvaldomp)
Posts: 858
Prominent Member
 

Olá, Daniel.

Veja se ajuda.
O código abaixo colocará o resultado a partir de 'L1'.

Sub AgrupaNúmeros()
 Dim n As Long, x As Long, LR As Long, c As Long
 Dim SE As String, SN As String
 LR = Cells(Rows.Count, 10).End(3).Row
 Range("J1").Sort Key1:=Range("J1")
  For n = 1 To LR
   SE = Range(Cells(n, 10), Cells(LR, 10)).Address
   SN = Cells(n, 10).Address
   x = Evaluate("SUMPRODUCT(--(LEFT(" & SE & ",3)=Left(" & SN & ",3)))")
   Cells(c + 1, 12).Resize(, x).Value = _
    Application.Transpose(Cells(n, 10).Resize(x).Value)
   n = n + x - 1: c = c + 1
  Next n
End Sub

Osvaldo

 
Postado : 30/07/2016 7:27 pm