回答:
Shiftキーは、移行対象の行/列を上書きするのではなく、行/列。
これはまだカット/ペースト方法ですが、私が考えることができる最も簡単な方法です。
4クリックソリューション:(例:行8を行5の上に移動)
注:これは、複数の行を移動する場合にも機能します。
次のマクロを個人用マクロブックに追加し、ショートカットキーを割り当てます。この動作は、Sublime Textのスワップラインアップとスワップラインダウンを模倣しています。
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
過去に同様のケースを処理する際に、行ごとに並べ替えることができなかったため、並べ替えが可能な式の結果を含む列を生成する方法を見つけました。
このサイトからあなたの質問に対するより直接的な答えを見つけました:
Microsoft Wordには、Excelにはない機能があります。Jonの方法では、データをWordに移動し、Wordコマンドを使用してから、データをExcelに貼り付けます。次の手順を実行します。
- 関連する行と列のチャンクをスプレッドシートからコピーします。範囲のサイズ、たとえば118行x 5列に注意することをお勧めします
- データをMicrosoft Word文書に貼り付けます。データは自動的に表になり、すべての書式設定が保持されます。
Wordで、あまり知られていないSHIFT-ALT-UP-ARROWおよびSHIFT-ALT-DOWN-ARROWを使用して、行(または選択した行のチャンク)を意のままに素早く上下にスライドさせます。1つ以上の行を選択します。ここに示すように、行全体または行の一部のみを選択できます。
Shift + Alt + UpArrowを数回押すと、行がすばやく上にスライドします。
必要に応じて行を順序付けしたら、それらをExcelに貼り付けて、コピーしたものとまったく同じサイズのチャンクを必ず上書きします。
これは、列に対しても機能するサブルーチンです。4つの方向すべての機能を組み合わせています。
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