none
Empilhar Colunas RRS feed

  • Pergunta

  • Ola <g class="gr_ gr_11 gr-alert gr_spell gr_inline_cards gr_disable_anim_appear ContextualSpelling ins-del multiReplace" data-gr-id="11" id="11">pessoal</g>...

    Tenho uma lista gigante de vendas.... e para fazer a importacao para o sistema preciso colunar em unica coluna.

    Entao tenho a coluna A com o Item, coluna B com o Local de Venda, e colunas C, D e E com os produtos.

    Item Location ProductA ProductB Productc
    A 11 a15 b15 c5
    B 11 a15   c5
    C 12 a13 b18 c5
    D 13 a17   c6
    E 15   b20 c7

    O que preciso eh que tudo seja enfileirado mas tenho que repetir o Item e Local correspondente. 

    E ficaria assim:

    Item Location Product
    A 11 a15
    B 11 a15
    C 12 a13
    D 13 a17
    E 15
    A 11 b15
    B 11
    C 12 b18
    D 13
    E 15 b20
    A 11 c5
    B 11 c5
    C 12 c5
    D 13 c6
    E 15 c7

    Claro?

    Sei que teria como usar Desloc e Corresp (mas nao seria muito minha praia).
    Alguma ideia para me ajudar?
    Valeuuuuuuuuuuuuuu

    quarta-feira, 8 de agosto de 2018 12:46

Todas as Respostas

  • Olá Melo,

    só colocar isso em um módulo e executar:

    Sub main()
    
      Dim p As Worksheet, nP As Worksheet
      Set p = ThisWorkbook.Sheets("plan1")
      Set nP = ThisWorkbook.Sheets.Add
      nP.Name = "BaseEmpilhada"
      
      i = 2
      
      nP.Cells(1, 1).Value = "Item"
      nP.Cells(1, 2).Value = "Location"
      nP.Cells(1, 3).Value = "Product"
      
      For x = 2 To p.Range("A1048576").End(xlUp).Row
        For c = 3 To 5
          If p.Cells(x, c).Value2 <> "" Then
            nP.Cells(i, 1).Value2 = p.Cells(x, 1).Value2
            nP.Cells(i, 2).Value2 = p.Cells(x, 2).Value2
            nP.Cells(i, 3).Value2 = p.Cells(x, c).Value2
            i = i + 1
          End If
        Next c
      Next
      
    End Sub
    
    Abraço!


    Natan

    quarta-feira, 8 de agosto de 2018 13:14