Câu trả lời:
Các Shiftchìa khóa chuyển hàng / cột thay vì ghi đè lên hàng mục tiêu / cột.
Đây vẫn là một phương pháp cắt / dán, nhưng là cách đơn giản nhất tôi có thể nghĩ ra.
Giải pháp 4 lần nhấp: (ví dụ: di chuyển hàng 8 trên hàng 5)
Lưu ý: Điều này cũng hoạt động để di chuyển nhiều hàng.
Thêm các macro sau vào Sổ làm việc Macro cá nhân của bạn và gán cho chúng các phím tắt. Hành vi bắt chước Hoán đổi văn bản của Sublime 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
Khi xử lý các trường hợp tương tự trong quá khứ, nơi tôi không thể chỉ sắp xếp theo một hàng, tôi đã tìm cách tạo một cột với kết quả công thức là thứ tôi có thể sắp xếp.
Tôi tìm thấy một câu trả lời trực tiếp hơn cho câu hỏi của bạn từ trang web này :
Microsoft Word có một tính năng mà Excel đang thiếu. Phương pháp của Jon liên quan đến việc di chuyển dữ liệu sang Word, sử dụng lệnh Word và sau đó dán dữ liệu trở lại Excel. Thực hiện theo các bước sau.
- Sao chép đoạn liên quan của các hàng và cột ra khỏi bảng tính của bạn. Tốt nhất là lưu ý kích thước của phạm vi, ví dụ: 118 hàng x 5 cột
- Dán dữ liệu vào tài liệu Microsoft Word, nơi nó tự động trở thành bảng và giữ lại tất cả định dạng của bạn.
Trong Word, hãy sử dụng các phím tắt SHift-ALT-UP-MROWI và SHIFT-ALT-DOWN-AROW để trượt các hàng rất nhanh (hoặc các khối hàng được chọn) theo ý muốn. Chọn một hoặc nhiều hàng. Bạn có thể chọn toàn bộ hàng hoặc chỉ một phần của hàng như hiển thị ở đây.
Nhấn Shift + Alt + UpArrow nhiều lần để nhanh chóng trượt các hàng lên vị trí.
Khi bạn đã sắp xếp các hàng theo ý muốn, hãy dán chúng trở lại vào Excel, đảm bảo bạn ghi đè lên chính xác kích thước tương tự mà bạn đã sao chép.
Đây là một phụ cũng hoạt động cho các cột; nó kết hợp các chức năng cho cả bốn hướng:
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