Página 1 de 1

Concatenar características em linhas diferentes

Enviado: 10 Jun 2022 às 11:30
por Bravoc
Bom dia a todos!

Tenho um relatório obtidos via sistema que gostaria de concatenar algumas informações, caso as mesmas sejam do mesmo produto.

Por exemplo
Relatório está assim:

Produto / Espécie / Característica >>>>>>> » » Situação pretendida
447589 / Cadeira / Aço Tubular >>>>> 447589 / Cadeira / Aço Tubular / Azul
>>>>>>>>>>>>>> /Azul
----------------------------------------------------------------------------------
Produto / Espécie / Característica >>>>>>>> Situação Pretendida
447646 / Mesa / Aço Tubular >>>>> 447646 / Mesa / Aço Tubular / Marfim
>>>>>>>>>>>>>>>/ Marfim

Observe que a característica estão em linhas diferentes, dificultando bastante. Meu relatório tem mais de 2.000 objetos, então fazer manualmente é impossível.

Alguém tem uma idéia de como conseguiria fazer isso?
Estou postando a planilha com o relatório obtido, a fim de que tenham uma melhor ideia.


Desde já agradeço qualquer ideia ou ajuda,
Silmar

Re: Concatenar características em linhas diferentes

Enviado: 10 Jun 2022 às 14:33
por osvaldomp
Olá, @Bravoc .

Se for viável o uso de macros no seu caso, experimente o código abaixo.

Código: Selecionar todos
Sub ConcatenaDados()
 Dim p As Range, LR As Long, k As Long
  Application.ScreenUpdating = False
  [D:E] = ""
  LR = Cells(Rows.Count, 3).End(3).Row
  For Each p In Range("A3:A" & LR).SpecialCells(2)
   If p.Offset(1).Value <> "" Then
    Cells(p.Row, 4) = p.Value: Cells(p.Row, 5) = p.Offset(, 1).Value
   Else
    Cells(p.Row, 4) = p.Value: Cells(p.Row, 5) = Cells(p.Row, 2) & "/" & Cells(p.Row, 3)
    While Cells(p.Row + k + 1, 1) = "" And p.Row + k + 1 <= LR
     Cells(p.Row, 5) = Cells(p.Row, 5) & "/" & Cells(p.Row + k + 1, 3)
     k = k + 1
    Wend
   End If
   k = 0
  Next p
  Range("D3:E" & LR).SpecialCells(4).Delete shift:=xlUp
End Sub

Re: Concatenar características em linhas diferentes

Enviado: 11 Jun 2022 às 06:54
por Bravoc
Perfeito, @osvaldomp

Funcionou! Deus o abençoe!!!!

Re: Concatenar características em linhas diferentes

Enviado: 11 Jun 2022 às 10:36
por Bravoc
Bom dia, @osvaldomp !
Ao executar a macro em planilhas cujo a coluna "características" (C) está totalmente vazia a macro dá erro.

É possível adaptar para que neste caso mantenha apenas a informação indicada na "espécie" (B)?

Por exemplo:

Patrimônio / Espécie / Característica
1234 / Cadeira / Em branco >>>>>>Resultado Pretendido: >>>> 1234 / Cadeira

Estou colocando a planilha que deu erro na macro com a macro nela pra você avaliar.

Desde já agradeço muitíssimo sua ajuda.

Re: Concatenar características em linhas diferentes

Enviado: 11 Jun 2022 às 14:49
por osvaldomp
Bravoc escreveu: 11 Jun 2022 às 10:36 ... a macro dá erro.
Estou colocando a planilha que deu erro na macro com a macro nela pra você avaliar.
Me parece que você não conseguiu colocar uma roda feita para VW em um carro GM e aí colocou a culpa na roda.

Para essa estrutura diferente de planilha utilize o código abaixo.
Código: Selecionar todos
Sub ConcatenaDadosV2()
 Application.ScreenUpdating = False
 [K:K] = ""
 With Range("K6:K" & Cells(Rows.Count, 1).End(3).Row - 1)
  .Formula = "=A6 & ""/"" & B6"
  .Value = .Value
 End With
End Sub

Re: Concatenar características em linhas diferentes

Enviado: 11 Jun 2022 às 15:58
por Bravoc
@osvaldomp , Perfeito!!!!!

Muitíssimo obrigado, que Deus lhe abençoe grandemente!