Como reordenar facilmente as linhas no Excel com arrastar e soltar ou mover para cima ou para baixo?

143

Eu tenho que fazer algumas reordenações manuais ou linhas no Excel e recortar / colar é muito difícil de usar. Estou procurando por algo que me permita usar o recurso arrastar e soltar ou adicionar alguns botões para mover para cima / baixo para cima / baixo.

sorin
fonte

Respostas:

212
  1. Selecione a linha / coluna.
  2. Mova o cursor do mouse para o limite da linha / coluna para ver o cursor de seta de quatro direções (ou o cursor de mão em um Mac).
  3. Pressione Shiftno teclado e clique e arraste a linha / coluna.

A Shiftchave muda a linha / coluna em vez de substituir a linha / coluna de destino.

kok
fonte
18
No mac, na etapa dois, você deseja mover o cursor do mouse para ver o ícone da mão, não o cursor da seta de quatro direções.
Scott Ritchie
2
Eu tenho o Excel 2013 e parece que o comportamento padrão agora quando você move uma linha depois de ver o cursor de seta de quatro direções está mudando o comportamento. Pressionar SHIFT real substitui fila de destino
Korayem
Eu tenho o Office365 (então acho que tenho a versão mais recente do Excel no momento da publicação - não consigo encontrar o número da versão adequada em nenhum lugar). A seleção de QUALQUER grupo de células (não apenas linhas / colunas), movendo-se para a borda para obter uma seta de quatro direções e arrastando os dados são movidos - deixando um buraco vazio para trás. Soltá-lo avisa sobre a substituição. Shift + arrastar tenta reordenar linhas ou colunas, mas apenas se a linha / coluna completa selecionada. "Completo" = toda a área retangular - não necessariamente uma planilha completa. // Confusão: deve passar o mouse sobre o limite das células de dados, não o número da linha ou a letra da coluna - que é redimensionada.
Krazy Glew
1
Alguém sabe de um atalho para obter essa "seta de quatro direções" - atalho de teclado ou uma macro / Visual Basic (ou qualquer que seja o nome da nova linguagem de macro)? Acho muito difícil fazer isso precisamente com um mouse, sem falar em uma tela sensível ao toque ou com uma caneta. Idealmente, eu gostaria de ter um "polegar" para arrastar linhas e colunas dessa maneira.
Krazy Glew
1
Alguém sabe como fazer isso no Planilhas Google?
Krazy Glew
13

Esse ainda é um método de recortar / colar, mas é a maneira mais simples de pensar.

Solução de 4 cliques: (por exemplo, mova a linha 8 acima da linha 5)

  1. Clique com o botão direito do mouse no número da linha (por exemplo, linha 8), clique em Recortar (ou T)
  2. Clique com o botão direito do mouse no número da linha (por exemplo, linha 5), ​​clique em Inserir células cortadas (ou E)

Nota: Isso também funciona para mover várias linhas.

Wilson
fonte
Esta é uma solução apenas para mouse, sem arrastar e soltar, para que seja bom mover as linhas para outras posições que precisam ser roladas. Caso contrário, a resposta de @ kok é mais elegante.
30716 wilson
graças, também este ainda trabalhou para mim, kok de é melhor, mas iitially um pouco mais para entender e um tem que ver o botão de limite embora não necesarilly mais difícil, a pessoa tem que se acostumar com isso
FantomX1
3

Experimentar:

Shift+ Space barou clique no número da linha para selecionar a linha

Ctrl+ Xcortar

Clique do mouse onde quiser.

Ctrl+ Vpara colar

Graham
fonte
2
resposta incorreta. isso irá substituir em vez de reordenação
wilson
3

Adicione as seguintes macros à sua Pasta de trabalho de macros pessoal e atribua a elas teclas de atalho. O comportamento imita Swap Line Up e Swap Line Down.

Sub move_rows_down()
    Dim rOriginalSelection As Range
    Set rOriginalSelection = Selection.EntireRow
    With rOriginalSelection
        .Select
        .Cut
        .Offset(rOriginalSelection.rows.Count + 1, 0).Select
    End With
    Selection.Insert
    rOriginalSelection.Select
End Sub

Sub move_rows_up()
    Dim rOriginalSelection As Range
    Set rOriginalSelection = Selection.EntireRow
    With rOriginalSelection
        .Select
        .Cut
        .Offset(-1, 0).Select
    End With
    Selection.Insert
    rOriginalSelection.Select
End Sub
tjmcewan
fonte
2

Ao lidar com casos semelhantes no passado, nos quais eu não podia apenas classificar por uma linha, encontrei uma maneira de gerar uma coluna com um resultado de fórmula que era algo que eu poderia classificar.

Encontrei uma resposta mais direta à sua pergunta neste site :

O Microsoft Word tem um recurso que falta no Excel. O método de Jon envolve mover os dados para o Word, empregar o comando Word e colar os dados novamente no Excel. Siga esses passos.

  1. Copie a parte relevante de linhas e colunas da sua planilha. É melhor observar o tamanho do intervalo, por exemplo, 118 linhas x 5 colunas
  2. Cole os dados em um documento do Microsoft Word, onde ele se torna automaticamente uma tabela e mantém toda a sua formatação.
  3. No Word, use as conhecidas SHIFT-ALT-UP-SETA e SHIFT-ALT-DOWN-SETA para deslizar linhas muito rapidamente (ou pedaços selecionados de linhas) para cima e para baixo à vontade. Selecione uma ou mais linhas. Você pode selecionar a linha inteira ou apenas uma parte da linha, como mostrado aqui.

    insira a descrição da imagem aqui

    Pressione Shift + Alt + Seta para cima várias vezes para deslizar rapidamente as linhas para cima na posição.

    insira a descrição da imagem aqui

  4. Quando você seqüenciar as linhas como desejar, cole-as novamente no Excel, certificando-se de substituir exatamente o mesmo tamanho de tamanho que você copiou.

jzd
fonte
Doce! Eu gostaria que houvesse uma maneira de fazer isso no Excel ou no OneNote. // (O Excel faz arrastamentos especiais do mouse, conforme observado acima, mas me falta a coordenação do mouse.) // É lamentável que alguém desista de outras qualidades do Excel, como a classificação da tabela por valores de coluna, para obter essa palavra
Krazy Glew
2

No Mac, use Command+ Shiftenquanto arrasta. Suponho que no Windows deveria ser Win+ Shift.

pablol
fonte
1

Uma ligeira melhoria na resposta de @ wilson:

Clique com o botão direito do mouse no número da linha (por exemplo, linha 8), pressione "t" Clique com o botão direito do mouse no número da linha (por exemplo, linha 5), ​​pressione "e"

O uso misto do mouse e do teclado realmente acelera para mim.

Codemonkey
fonte
1

Aqui está um sub que também funciona para colunas; combina a funcionalidade para todas as quatro direções:

Sub MoveRowsOrColumns(direction As String)
    Dim rOriginalSelection As Range

    Select Case direction
    Case "up", "down"
        Set rOriginalSelection = Selection.EntireRow
    Case "left", "right"
        Set rOriginalSelection = Selection.EntireColumn
    Case Else
        Debug.Assert False
    End Select

    With rOriginalSelection
        .Select
        .Cut
        Select Case direction
        Case "up"
            .Offset(-1, 0).Select
        Case "down"
            .Offset(rOriginalSelection.Rows.Count + 1, 0).Select
        Case "left"
            .Offset(0, -1).Select
        Case "right"
            .Offset(0, rOriginalSelection.Columns.Count + 1).Select
        End Select
    End With
    Selection.Insert
    rOriginalSelection.Select
End Sub
Micromegas
fonte
-1

Este é o mais fácil que encontrei. Não é possível arrastar e soltar:

Por exemplo, para mover a linha 3 antes da linha 2:

  • clique com o botão direito na linha 3 (no número 3 à esquerda) e selecione Recortar
  • clique com o botão direito na linha 2 (no número 2) e selecione Inserir células cortadas
Mrudult
fonte