Dica: outros idiomas são traduzidos pelo Google. Você pode visitar o English versão deste link.
Entrar
x
or
x
x
Registre-se
x

or

Como transpor colunas para linhas e inserir novas linhas para preencher dados no Excel?

Neste artigo, introduzo um código VBA para transpor colunas para linhas e inserir novas linhas para preencher os dados, conforme mostrado abaixo, se você estiver interessado nesta operação, vá abaixo para obter mais detalhes.
transposição de documentos inserir linhas 1

Transpor e inserir linhas com VBA


arrow blue right bubble Transpor e inserir linhas com VBA


Não existe uma maneira direta de transpor um intervalo e inserir linhas para preencher os mesmos dados, mas aqui posso introduzir um código VBA para resolver rapidamente esta tarefa.

1. Pressione Alt + F11 chaves para abrir Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Módulo, e cole abaixo o código VBA para a janela Módulo. Ver captura de tela:

VBA: transpor e inserir linhas.

 Sub TransposeInsertRows()
'UpdatebyExtendoffice20161125
    Dim xRg As Range
    Dim i As Long, j As Long, k As Long
    Dim x As Long, y As Long
    Set xRg = Application.InputBox _
    (Prompt:="Range Selection...", _
    Title:="Kutools For Excel", Type:=8)
    Application.ScreenUpdating = False
    x = xRg(1, 1).Column + 2
    y = xRg(1, xRg.Columns.Count).Column
    For i = xRg(xRg.Rows.Count, 1).Row To xRg(1, 1).Row Step -1
        If Cells(i, x) <> "" And Cells(i, x + 1) <> "" Then
            k = Cells(i, x - 2).End(xlToRight).Column
            If k > y Then k = y
            For j = k To x + 1 Step -1
                Cells(i + 1, 1).EntireRow.Insert
                With Cells(i + 1, x - 2)
                    .Value = .Offset(-1, 0)
                    .Offset(0, 1) = .Offset(-1, 1)
                    .Offset(0, 2) = Cells(i, j)
                End With
                Cells(i, j).ClearContents
            Next j
        End If
    Next i
    Application.ScreenUpdating = True
End Sub

transposição de documentos inserir linhas 2

3. Pressione F5 chave para executar o código e, em seguida, selecione o intervalo de dados que deseja transpor e insira linhas na caixa de diálogo. Ver captura de tela:
transposição de documentos inserir linhas 3

4. Clique OK. E o intervalo selecionado foi convertido conforme abaixo a tela mostrada.
transposição de documentos inserir linhas 4

notas: antes de executar o código, é melhor salvar uma cópia dos dados originais.

Gorjeta.Se você deseja transpor rapidamente uma mesa cruzada para a tabela de lista ou vice-versa, tente usar o Kutools para Excel Dimensões da tabela de transposição como mostrado na seguinte captura de tela. É função completa sem limitação nos dias 60, Baixe e faça uma avaliação gratuita agora.

transposição de documentos cruzados para a lista


Ferramentas de produtividade recomendadas para o Excel

Kutools for Excel ajuda você a concluir o trabalho antes do tempo e se destacar da multidão

  • Mais do que poderosos recursos avançados do 300, projetados para cenários de trabalho 1500, aumentando a produtividade em 70%, você tem mais tempo para cuidar da família e aproveitar a vida.
  • Não precisa mais memorizar fórmulas e códigos VBA, dê um descanso a seu cérebro a partir de agora.
  • Torne-se um especialista em Excel em minutos 3, operações complicadas e repetidas podem ser feitas em segundos,
  • Reduza milhares de operações de teclado e mouse todos os dias, diga adeus às doenças ocupacionais agora.
  • 110,000 pessoas altamente eficazes e escolha de empresas de renome mundial 300 +.
  • 60-day full features versão de avaliação gratuita. Garantias de devolução do dinheiro 60. 2 anos de atualização e suporte gratuitos.

Traz navegação com guias e edição para o Microsoft Office, muito mais poderosa do que as guias do navegador

  • A guia Office foi projetada para Word, Excel, PowerPoint e outros aplicativos do Office: 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!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Val · 1 years ago
    how would i change the VBA code so that it will keep more of the columns the same? for example instead of the first two columns staying the same it will be the first 4?
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      I am not sure, may be you can try to change x = xRg(1, 1).Column + 2 to x = xRg(1, 1).Column + 4.
  • To post as a guest, your comment is unpublished.
    Chasles · 2 years ago
    If my cross table's informations come from formulas, those formulas don't always follow when the macro is applied. How could I fix this to make sure that the formulas are kept in the cells?
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      Hi, thank u for ur message. For solving your problem, you can apply Kutools' Convert Formula to Text before you running the macro, then after transposing thetable, apply Kutools' Convert Text to Formula. Please Let me know if it works. Thank u.