Come riordinare facilmente le righe in Excel con trascinamento della selezione o spostamento verso l'alto o verso il basso?


143

Devo fare un riordino manuale o righe in Excel e tagliare / incollare è troppo difficile da usare. Sto cercando qualcosa che mi consenta di usare il drag'n'drop o di aggiungere alcuni pulsanti per spostarti in alto / in basso, in alto / in basso.

Risposte:


212
  1. Seleziona la riga / colonna.
  2. Spostare il cursore del mouse sul bordo della riga / colonna in modo da visualizzare il cursore a freccia a quattro punte (o il cursore della mano su un Mac).
  3. Premi Shiftsulla tastiera, quindi fai clic e trascina la riga / colonna.

Il Shifttasto sposta la riga / colonna anziché sovrascrivere la riga / colonna di destinazione.


18
Su Mac, per il passaggio 2, vuoi spostare il cursore del mouse in modo da vedere l'icona della mano, non il cursore a quattro frecce.
Scott Ritchie,

2
Ho Excel 2013 e sembra il comportamento predefinito ora quando si sposta una riga dopo aver visto il cursore a quattro frecce spostare il comportamento. Premendo MAIUSC effettivo si sostituisce la riga di destinazione
Korayem il

Ho Office365 (quindi penso di avere qualunque sia l'ultima versione di Excel al momento della pubblicazione - non riesco a trovare un numero di versione corretto da nessuna parte). Selezionando QUALSIASI gruppo di celle (non solo righe / colonne), spostandoti sul bordo per ottenere la freccia a 4 direzioni e trascinando i dati dei movimenti, lasciando un buco vuoto dietro. Rilasciandolo si avverte la sovrascrittura. Maiusc + trascinamento tenta di riordinare righe o colonne, ma solo se è selezionata la riga / colonna completa. "Full" = tutta un'area rettangolare - non necessariamente foglio di calcolo completo. // Confusione: passa con il mouse sopra il limite delle celle di dati, non il numero di riga o la lettera di colonna - che si ridimensiona.
Krazy Glew,

1
Qualcuno sa di una scorciatoia per ottenere questa "freccia a 4 direzioni" - scorciatoia da tastiera, o una macro / Visual Basic (o come si chiama il nuovo linguaggio macro)? Trovo davvero difficile farlo esattamente con un mouse, figuriamoci su un touchscreen o con una penna. Idealmente, vorrei avere un "pollice" per trascinare righe e colonne in questo modo.
Krazy Glew,

1
Qualcuno sa come fare questo Fogli Google?
Krazy Glew,

13

Questo è ancora un metodo taglia / incolla, ma è il modo più semplice che mi viene in mente.

Soluzione a 4 clic: (es. Sposta la riga 8 sopra la riga 5)

  1. Fare clic con il tasto destro del mouse sul numero di riga (ad es. Riga 8), fare clic su Taglia (o T)
  2. Fare clic con il tasto destro del mouse sul numero di riga (ad es. Riga 5), ​​fare clic su Inserisci celle di taglio (o E)

Nota: questo funziona anche per lo spostamento di più righe.


Questa è una soluzione solo per il mouse senza trascinamento della selezione, quindi è utile spostare le file in una posizione ulteriore che necessita di scorrimento. Altrimenti, la risposta di @ kok è più elegante.
Wilson,

grazie, anche questo ha funzionato ancora per me, il kok è migliore ma inizialmente un po 'più lungo da capire e si deve vedere il pulsante di delimitazione sebbene non sia necessariamente più difficile, ci si deve abituare
FantomX1

3

Provare:

Shift+ Space baro fare clic con il mouse sul numero di riga per selezionare la riga

Ctrl+ Xper tagliare

Fare clic con il mouse dove lo si desidera.

Ctrl+ Vper incollarlo


2
Risposta sbagliata. questo sostituirà invece di riordinare
Wilson

3

Aggiungi le seguenti macro alla cartella di lavoro Macro personale e assegna loro i tasti di scelta rapida. Il comportamento imita la riga di swap di Sublime Text e la riga di swap di 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

2

Nel trattare casi simili in passato, in cui non potevo semplicemente ordinare per riga, ho trovato il modo di generare una colonna con un risultato formula che era qualcosa su cui potevo ordinare.

Ho trovato una risposta più diretta alla tua domanda da questo sito :

Microsoft Word ha una funzionalità che manca a Excel. Il metodo di Jon prevede di spostare i dati in Word, impiegando il comando Word e incollando nuovamente i dati in Excel. Segui questi passi.

  1. Copia la parte pertinente di righe e colonne dal tuo foglio di calcolo. È meglio notare la dimensione dell'intervallo, ad esempio 118 righe x 5 colonne
  2. Incolla i dati in un documento di Microsoft Word, dove diventa automaticamente una tabella e conserva tutta la formattazione.
  3. In Word, utilizzare MAIUSC-ALT-SU-FRECCIA e MAIUSC-ALT-GIÙ-FRECCIA poco noti per scorrere le righe (o i blocchi selezionati di righe) molto rapidamente su e giù a piacimento. Seleziona una o più righe. È possibile selezionare l'intera riga o solo una parte della riga, come mostrato qui.

    inserisci qui la descrizione dell'immagine

    Premi Maiusc + Alt + Su Freccia più volte per far scorrere rapidamente le file in posizione.

    inserisci qui la descrizione dell'immagine

  4. Dopo aver sequenziato le righe come preferisci, incollale nuovamente in Excel, assicurandoti di sovrascrivere lo stesso blocco delle stesse dimensioni che hai copiato.


Dolce! Vorrei che ci fosse un modo per farlo in Excel o OneNote. // (Excel fa trascinamenti speciali del mouse, come notato sopra, ma mi manca il coordinamento del mouse per questo.) // È sfortunato che uno rinuncia ad altra bontà di Excel, come l'ordinamento delle tabelle in base ai valori delle colonne, per ottenere questa parola bontà
Krazy Risale al

2

In Mac, usa Command+ Shiftdurante il trascinamento. Suppongo che in Windows dovrebbe essere Win+ Shift.


1

Un leggero miglioramento sulla risposta di @ wilson:

Fare clic con il tasto destro del mouse sul numero di riga (es. Riga 8), premere "t" Fare clic con il tasto destro del mouse sul numero di riga (es. Riga 5), ​​premere "e"

L'uso misto del mouse e della tastiera lo accelera davvero.


1

Ecco un sub che funziona anche per le colonne; unisce la funzionalità per tutte e quattro le direzioni:

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

-1

Questo è il più semplice che ho trovato. Non riesci davvero a trascinare e rilasciare:

Ad esempio per spostare la riga 3 prima della riga 2:

  • fare clic con il tasto destro sulla riga 3 (sul numero 3 a sinistra) e selezionare Taglia
  • fare clic con il tasto destro sulla riga 2 (sul numero 2) e selezionare Inserisci celle di taglio
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.