Como faço para empilhar várias colunas em uma?

2

NãotenhoexperiênciasuficientecomoVBAparaconseguirisso.ComomodificooVBAabaixoparapoderfazeroseguinte:

  1. Colocarcolunasempilhadasemumanovaplanilha.

  2. Manipularespaçosembranco(ocódigoabaixofazissoatualmente)

3.codeéexecutadonointervaloqueousuárioselecionounomomento.Idealmente,ousuáriopodeselecionarcolunasnãocontíguas.

SubMoveAllDataToColumnA()DimiAsLong,wsAsWorksheet,rngCopyAsRange,rngEndAsRangeSetws=ActiveSheetDoUntilws.Cells(1,2).Value=""
        Set rngCopy = ws.Range("B2", ws.Cells(ws.Rows.Count, "B").End(xlUp))
        Set rngEnd = ws.Cells(ws.Rows.Count, "A").End(xlUp).Offset(1, 0)
        rngEnd.Resize(rngCopy.Rows.Count, 1).Value = rngCopy.Value
        rngCopy.EntireColumn.Delete
    Loop
End Sub
    
por daniellopez46 02.10.2015 / 03:02

1 resposta

2

Eu usaria o Power Query Add-In para isso, embora ele não consiga lidar com o requisito # 3. No Excel 2016, o Power Query é incorporado à faixa de opções Dados na seção "Obter e transformar".

Os passos que eu criaria na Power Query seriam:

Selecione as colunas Org e Length e escolha "Remover colunas".

Selecione a coluna Category e escolha "Unpivot columns / Unpivot other columns".

Você pode entregar o resultado em uma nova tabela do Excel.

    
por 06.10.2015 / 01:32