題 如何通過拖放或上移或下移輕鬆地重新排序excel中的行?


我必須在Excel中進行一些手動重新排序或行,並且切割/粘貼太難以使用。我正在尋找一些能讓我使用“拖放”或添加一些按鈕來向上/向下移動頂部/底部的東西。


130
2018-02-24 11:24


起源




答案:


  1. 選擇行/列。
  2. 將鼠標光標移動到行/列的邊界,以便您可以看到四向箭頭光標(或Mac上的手形光標)。
  3. 轉移 在鍵盤上,然後單擊並拖動行/列。

轉移 鍵 轉移 行/列而不是覆蓋目標行/列。


191
2017-07-24 19:59



在Mac上,對於第二步,您需要移動鼠標光標,以便看到手形圖標,而不是四向箭頭光標。 - Scott Ritchie
我有Excel 2013,現在當你看到四向箭頭光標移動一行後,它似乎是默認行為。按SHIFT實際替換目標行 - Korayem
我有Office365(所以我認為我在發佈時有任何最新版本的Excel - 我無法在任何地方找到合適的版本號)。選擇任意一組單元格(不僅僅是行/列),移動到邊框以獲得4向箭頭,拖動移動數據 - 留下一個空洞。刪除它會在覆蓋時發出警告。 Shift +拖動嘗試重新排序行或列,但僅限於選擇完整的行/列。 “完整”=所有矩形區域 - 不一定是完整的電子表格。 //混淆:必須將鼠標懸停在數據單元格的邊界上,而不是在調整大小的行號或列字母上。 - Krazy Glew
有沒有人知道獲得這個“4向箭頭”的快捷方式 - 鍵盤快捷鍵,還是宏/ Visual Basic(或者調用新的宏語言)?我發現很難用鼠標精確地做到這一點,更不用說在觸摸屏上或用筆。理想情況下,我希望有一個“拇指”來像這樣拖動行和列。 - Krazy Glew
有誰知道如何做這個Google表格? - Krazy Glew


這仍然是一種剪切/粘貼方法,但這是我能想到的最簡單的方法。

4點擊解決方案: (例如,在第5行上方移動第8行)

  1. 右鍵單擊行號(例如,第8行),單擊  (要么 Ť
  2. 右鍵單擊行號(例如,第5行),單擊 插入切割單元格 (要么 Ë

注意:這也適用於移動多行。


11
2018-02-28 07:38



這是一個沒有拖放的鼠標專用解決方案,因此它很適合將行移動到需要滾動的更遠位置。除此以外, @kok的回答 更優雅。 - wilson


嘗試:

轉移 + 空格鍵 或鼠標點擊行號以選擇行

按Ctrl + X 削減

鼠標單擊所需的位置。

按Ctrl + V 粘貼它


3
2018-02-21 15:54



錯誤答案。這將 更換 代替 重新排序 - wilson


將以下宏添加到個人宏工​​作簿並為其分配快捷鍵。該行為模仿Sublime Text的Swap Line Up和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

3
2018-02-24 11:44





在處理過去類似的情況時,我不能只按行排序,我找到了生成一個具有公式結果的列的方法,這是我可以排序的。

我從你的問題中找到了一個更直接的答案 這個網站

Microsoft Word具有Excel缺少的功能。喬恩的方法   涉及將數據移動到Word,使用Word命令然後   將數據粘貼回Excel。跟著這些步驟。

  1. 從speadsheet中復制相關的行和列塊。最好注意範圍的大小,例如118行×5列
  2. 將數據粘貼到Microsoft Word文檔中,它自動成為一個表並保留所有格式。
  3. 在Word中,使用鮮為人知的SHIFT-ALT-UP-ARROW和SHIFT-ALT-DOWN-ARROW來快速滑動行(或選定的塊)   的行)隨意上下。選擇一行或多行。你可以選擇   整行或只是行的一部分,如此處所示。

    enter image description here

    按Shift + Alt + UpArrow幾次以快速滑動行   上升到位。

    enter image description here

  4. 根據需要對行進行排序後,將它們粘貼回Excel,確保覆蓋複製的完全相同大小的塊。


2
2017-07-12 13:12



甜!我希望有一種方法可以在Excel或OneNote中執行此操作。 //(Excel會執行特殊的鼠標拖動,如上所述,但我缺少鼠標協調。)//很遺憾,一個人放棄了其他Excel優點,比如按列值排序,以獲得這個詞的優點 - Krazy Glew


在Mac中,使用 命令 + 轉移 拖著。我想在Windows應該是這樣的 贏得 + 轉移


2
2017-08-31 10:37





這是我發現的最簡單的一個。 無法真正拖放: 

例如,在第2行之前移動第3行:

  • 右鍵單擊第3行(在左邊的數字3上)並選擇
  • 右鍵單擊第2行(在數字2上)並選擇 插入切割單元格

1
2018-06-25 15:11





@威爾遜的回答略有改善:

右鍵單擊行號(例如第8行),點擊“t” 右鍵單擊行號(例如第5行),點擊“e”

混合使用鼠標和鍵盤確實為我加快了速度。


1
2018-05-08 17:03





這是一個也適用於列的子;它結合了所有四個方向的功能:

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