Formatar informaçõe...
 
Notifications
Clear all

Formatar informações apresentadas em linhas para colunas

2 Posts
2 Usuários
0 Reactions
1,029 Visualizações
(@cmbruno)
Posts: 73
Estimable Member
Topic starter
 

Bom dia

Pessoal mais uma vez estou aqui solicitando a ajuda dos colegas para o caso abaixo:

Segue em anexo uma planilha com exemplo de um relatório que temos e que preciso melhorar a forma apresentada e gostaria de uma macro
ou outra forma de se fazer para que o relatório atenda conforme descrição abaixo:

1 - A macro le o código que esta na coluna I e localiza o mesmo na coluna B.
2 - Depois de localizado na coluna B copia as informações que estão na coluna D de acordo com as informações das colunas J-K-L e M
3 - Exemplo:

Na coluna I existe o código 123, a macro vai até a coluna B e identificou que la existe o código 123.
Então ela copia as informações da coluna D ( D3 - D4 - D5 e D6 ) e cola nas respectivas celulas J2 - K2 - L2 e M2.
E assim sucessivamente para os demais códigos.

Nesse exemplo que passei são somente 10 itens, mas nosso relatório possui mais de 6.000 itens e precisamos fazer uma conciliação
onde o formato apresentado pelo relatório não viabiliza velocidade nessa conciliação, se conseguir essa macro ou outra forma de fazer
a conciliação será extremamente dinamica pois conseguiremos usar um procv.
Lembrando que o cabeçalho das colunas de I até M são fixas e podem ficar na mesma aba ou se acherem que é melhor colocar em outra aba.

 
Postado : 24/11/2017 8:10 am
(@osvaldomp)
Posts: 858
Prominent Member
 

Veja se ajuda.

Sub ReplicaDados()
 Dim b As Long
  If [I2] <> "" Then Range("I2:M" & Cells(Rows.Count, 9).End(3).Row).Value = ""
  For b = 2 To Cells(Rows.Count, 2).End(3).Row Step 5
   Cells(Rows.Count, 9).End(3)(2) = Cells(b, 2)
   Cells(Rows.Count, 10).End(3)(2).Resize(, 4).Value = Application.Transpose(Cells(b + 1, 4).Resize(4).Value)
  Next b
End Sub

obs. nas colunas I:M mantenha somente os cabeçalhos

Osvaldo

 
Postado : 24/11/2017 11:20 am