我必须进行一些手动重新排序或Excel中的行,并且剪切/粘贴太难使用。我正在寻找使我能够使用拖放功能或添加一些按钮来向上/向下移动顶部/底部的功能。

#1 楼


选择行/列。
将鼠标光标移至行/列的边界,以便看到四向箭头光标(或在Mac上为手形光标)。
按Shift在键盘上,然后单击并拖动行/列。

Shift键移动行/列,而不是覆盖目标行/列。

评论


在Mac上,对于第二步,您想移动鼠标光标,以便看到手形图标,而不是四向箭头光标。

–斯科特·里奇(Scott Ritchie)
2014年6月12日在2:11

我有Excel 2013,并且当您看到四向光标移动行为后移动一行时,它似乎是默认行为。按SHIFT实际替换目标行

– Korayem
15年6月30日在21:31

我有Office365(所以我认为发布时我拥有的是Excel的最新版本-在任何地方都找不到合适的版本号)。选择任何一组单元格(不仅是行/列),移动到边框以获得4向箭头,然后拖动来移动数据-留下一个空洞。删除它会警告覆盖。 Shift +拖动尝试重新排列行或列的顺序,但仅在选择完整的行/列的情况下。 “完整” =所有某些矩形区域-不一定是完整的电子表格。 //混淆:必须将鼠标悬停在数据单元的边界上,而不是要调整大小的行号或列字母的边界上。

– Krazy Glew
17年7月18日在18:19

有谁知道获取此“ 4向箭头”的快捷方式-键盘快捷方式或宏/ Visual Basic(或任何称为新宏的语言)?我发现用鼠标精确地做到这一点真的很困难,更不用说在触摸屏或笔上了。理想情况下,我希望有一个“拇指”来像这样拖动行和列。

– Krazy Glew
17年7月18日在18:21

有人知道该怎么做Google表格吗?

– Krazy Glew
17年7月18日在18:41

#2 楼

这仍然是剪切/粘贴方法,但这是我能想到的最简单的方法。

四键式解决方案:(例如,将第8行移至第5行上方)


右键单击行编号(例如第8行),单击“剪切”(或T)
右键单击行编号(例如,第5行),单击“插入剪切单元格(或E)”


/>注意:这也适用于移动多行。

评论


这是仅鼠标的解决方案,没有拖放操作,因此非常适合将行移动到需要滚动的其他位置。否则,@ kok的答案会更优雅。

–威尔逊
16 Mar 30 '16 at 9:05

谢谢,这对我还是有用的,kok的更好,但是起初我需要更长一点的时间来理解,虽然它不是一定要难一点,但不得不看一下边界按钮,必须习惯

– FantomX1
19年9月4日在14:47

#3 楼

将以下宏添加到您的“个人宏工作簿”中,并为其分配快捷键。该行为模仿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


#4 楼

对于像我这样只想使用键盘的势利小人:

选择要移动的单元格(行或列,或任何矩形的单元格,但选择必须连续)
按Ctrl + x(Ctrl + c可让您制作两个副本。)
在要移动内容的位置之后(紧靠其下方或向右),立即移至或选择该单元格。 br />按Ctrl ++。这将使单元向下或向右移动。 (Ctrl + v会改写单元格。)

在Mac上,所有这些快捷键都可以与Ctrl或⌘相同。

评论


@kok的Shift +鼠标拖动解决方案或此技术都不适用于不连续的选择。即使使用单独的Ctrl键单击选择连续的区域,Excel也会变得混乱,因此必须按住Shift键或拖动来选择要剪切的区域。

–约书亚·戈德堡
20年8月10日在18:31

步骤4:Ctrl + Shift + +对我有用。而且,第3步:选择必须等于列选择,因为它可以上下移动。

–spcsLrg
20-10-15在18:04



#5 楼

在处理过去不能仅按行排序的类似情况时,我找到了一种生成具有公式结果的列的方法,该结果可以排序。

我从此站点找到了对您的问题的更直接答案:


Microsoft Word具有Excel所缺少的功能。乔恩的方法
包括将数据移动到Word,使用Word命令,然后
将数据粘贴回Excel。请执行以下步骤。


将相关的行和列大块复制到spedsheet中。最好注意该范围的大小,例如118行x 5列
将数据粘贴到Microsoft Word文档中,该文档将自动成为表格并保留所有格式。

在Word中,使用鲜为人知的SHIFT-ALT-ARROW和SHIFT-ALT-DOWN-ARROW可以随意快速地上下滑动行(或选定的行大块)。选择一个或多个行。您可以选择
整个行或行的一部分,如下所示。



多次按下Shift + Alt + UpArrow以快速进行将行
向上滑动到适当的位置。



按需要对行进行排序后,将其粘贴回Excel中,确保覆盖了确切您复制的相同大小的块。



评论


甜!我希望有一种方法可以在Excel或OneNote中进行。 //(如上所述,Excel会进行特殊的鼠标拖动,但是我对此没有mouse.coordination。)////不幸的是,一个人放弃了其他Excel优点,例如按列值对表进行排序,以获得这个字

– Krazy Glew
17年7月18日在18:27

#6 楼

在Mac中,拖动时使用Command + Shift。我想在Windows中应该是Win + Shift。

#7 楼

@wilson的答案略有改进:

右键单击行号(例如第8行),按“ t”
右键单击行号(例如第5行),按“ e”

混合使用鼠标和键盘确实可以为我加快速度。

#8 楼

这是一个同样适用于列的子项。它结合了所有四个方向的功能:

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


#9 楼

尝试:

Shift +空格键或鼠标单击行号以选择行

鼠标单击您要单击的位置想要它。

Ctrl + V粘贴它

评论


错误答案。这将取代而不是重新排序

–威尔逊
16-10-28在2:26

#10 楼

这是我发现的最简单的方法。无法真正拖放:

例如将第3行移至第2行之前:


右键单击第3行(位于左侧的数字3上) ),然后选择“剪切”

,右键单击第2行(在数字2上),然后选择“插入剪切单元”