Ir para o conteúdo principal

Como empilhar colunas da esquerda para a direita em uma coluna no Excel?

Supondo que existam várias colunas, o trabalho é empilhar as colunas da esquerda para a direita em uma única coluna, conforme mostrado na imagem abaixo. Exceto mover manualmente as colunas uma por uma, há algum truque para resolver isso no Excel?
doc pilha colunas da esquerda para a direita 1

Empilhe colunas da esquerda para a direita em uma coluna com VBA

Empilhe colunas da esquerda para a direita em uma coluna com o Kutools para Excel


Empilhe colunas da esquerda para a direita em uma coluna com VBA

No Excel, não há nenhuma função incorporada que possa realizar esse trabalho, mas o código VBA pode ajudá-lo.

1. Pressione Alt + F11 chaves, então no Microsoft Visual Basic para Aplicações janela, clique em inserção > Módulo para criar um novo módulo em branco.

2. Copie e cole o código abaixo no Módulo.

VBA: Empilhar colunas em uma

Sub StackColumns()
'UpdatebyExtendoffice20180814
Dim xSRg, xDRg As Range
Dim xDWS As Worksheet
Dim xIntDR, xIntDC, xI As Long
Dim xFNumR, xFNumC As Long
On Error GoTo Err1
Set xSRg = Application.InputBox("Select Columns:", "Kutools for Excel", xTxt, , , , , 8)
If xSRg Is Nothing Then
Err1:
    Application.ScreenUpdating = True
    Exit Sub
End If
Set xDRg = Application.InputBox("Select a cell to place result:", "Kutools for Excel", xTxt, , , , , 8)
If xDRg Is Nothing Then
    Exit Sub
End If
Application.ScreenUpdating = False
Set xDWS = xDRg.Worksheet
xIntDR = xDRg.Row
xIntDC = xDRg.Column
xI = 0
    For xFNumC = 1 To xSRg.Columns.Count
        For xFNumR = 1 To xSRg.Rows.Count
            Set xDRg = xDWS.Cells(xIntDR + xI, xIntDC)
            xDRg.Value = xSRg.Cells(xFNumR, xFNumC).Value
            xI = xI + 1
        Next xFNumR
    Next xFNumC
Application.ScreenUpdating = True
End Sub

doc pilha colunas da esquerda para a direita 2

3. Pressione F5 para executar o código, uma caixa de diálogo aparecerá para você selecionar as colunas que você empilhará em uma.
doc pilha colunas da esquerda para a direita 3

4. Clique OK, selecione uma célula para colocar o resultado.
doc pilha colunas da esquerda para a direita 4

5. Clique OK terminar. Agora as colunas selecionadas foram empilhadas em uma coluna.
doc pilha colunas da esquerda para a direita 5


Empilhe colunas da esquerda para a direita em uma coluna com o Kutools para Excel

Se você tem Kutools for Excel instalado no Excel, você pode usar o Transform Range utilitário para lidar com este trabalho.

Kutools for Excel, com mais de 300 funções úteis, tornam seus trabalhos mais fáceis. 

Depois de instalar Kutools para Excel, faça o seguinte:(Baixe gratuitamente o Kutools para Excel agora!)

1. Selecione as colunas que deseja empilhar e clique em Kutools > Variação > Transform Range.
doc pilha colunas da esquerda para a direita 6

2. No Transform Range diálogo, verificar Range to single row caixa de seleção, clique Ok.
doc pilha colunas da esquerda para a direita 7

3. Na caixa de diálogo pop-up, selecione uma célula para colocar o resultado e clique em OK.
doc pilha colunas da esquerda para a direita 8

Agora as colunas foram transformadas em uma única linha.
doc pilha colunas da esquerda para a direita 9

4. Selecione a única linha, pressione Ctrl + C para copiá-lo e selecionar outra célula que colocará a coluna da pilha, clique com o botão direito para selecionar Transpose(T) no menu de contexto.
doc pilha colunas da esquerda para a direita 10

Agora, a única linha foi transposta para uma coluna da pilha.
coluna doc stack da esquerda para a direita 11

Melhores ferramentas de produtividade de escritório

Recursos mais comuns: Encontre, destaque ou identifique duplicatas   |  Excluir linhas em branco   |  Combine colunas ou células sem perder dados   |   Rodada sem Fórmula ...
Super pesquisa: VLookup de múltiplos critérios    VLookup de múltiplos valores  |   VLookup em várias planilhas   |   Pesquisa Difusa ....
Lista suspensa avançada: Crie rapidamente uma lista suspensa   |  Lista suspensa de dependentes   |  Lista suspensa de seleção múltipla ....
Gerenciador de colunas: Adicione um número específico de colunas  |  Mover colunas  |  Alternar status de visibilidade de colunas ocultas  |  Compare intervalos e colunas ...
Recursos em destaque: Foco da Grade   |  Vista de Design   |   Grande Barra de Fórmula    Gerenciador de pastas de trabalho e planilhas   |  Biblioteca (Auto texto)   |  Data Picker   |  Combinar planilhas   |  Criptografar/Descriptografar Células    Enviar e-mails por lista   |  Super Filtro   |   Filtro Especial (filtro negrito/itálico/tachado...) ...
15 principais conjuntos de ferramentas12 Texto Ferramentas (Adicionar texto, Remover Personagens, ...)   |   50+ de cores Tipos (Gráfico de Gantt, ...)   |   Mais de 40 práticos Fórmulas (Calcule a idade com base no aniversário, ...)   |   19 Inclusão Ferramentas (Insira o código QR, Inserir imagem do caminho, ...)   |   12 Conversão Ferramentas (Números para Palavras, Conversão de moedas, ...)   |   7 Unir e dividir Ferramentas (Combinar linhas avançadas, Dividir células, ...)   |   ... e mais

Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para obter o recurso que você mais precisa...

guia kte 201905


Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Does anyone know how to replace/hardcode the columns (not bring up the message box for selection)?So, set the XSRg to be something like: Set xSRg = Range("A1").CurrentRegion.Select(which does not work because of type mismatch)thanks
This comment was minimized by the moderator on the site
I will be eternally grateful to you. Thank you so much!
This comment was minimized by the moderator on the site
A Word cheat to do the same:
- copy all your rows and lines in Excel
- paste without into a Word doc
- ctrl + h (find and replace)
- copy a tabulation space between two rows
- paste into search bar
- replace by tabs by line breaks "^l"

All your cells are now in column in your Word doc.
Copy paste them into Excel: done!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations