Hoán đổi nội dung ô trong Excel?


42

Có cách nào dễ dàng để trao đổi nội dung của hai ô trong Microsoft Excel không?

Nói một cách dễ dàng, ý tôi là một phím tắt hoặc mục menu, không liên quan đến việc sao chép vào các ô tạm thời hoặc viết các tập lệnh VBA hoặc bất cứ thứ gì tương tự. Nói cách khác, tôi đang tìm cách chỉ chọn hai ô và bấm vào một số mục menu hoặc nhấn một số tổ hợp phím sẽ hoán đổi nội dung của chúng. Chắc chắn, phải có một cách để làm điều này?


Đây có vẻ như là một triển khai rất cụ thể của một loại và nếu nó chưa có trong các tùy chọn sắp xếp nâng cao, tôi sẽ ngạc nhiên nếu bạn có thể tìm thấy nó ở nơi khác, như một giải pháp không phải VBA
drapkin11

Câu trả lời:


47

Từ: http://www.extendoffice.com/document/excel/860-excel-swap-contents-of-two-cells.html

Đôi khi, có hai ô liền kề cần được hoán đổi. Chúng ta có thể tự làm điều đó một cách dễ dàng. Nhìn vào ảnh chụp màn hình sau, tôi muốn hoán đổi ô A4 và B4, vui lòng thực hiện như sau:

nhập mô tả hình ảnh ở đây

  1. Chọn ô bạn muốn trao đổi. Trong ví dụ này, chọn ô A4.

  2. Nhấn phím Shift và đặt con trỏ ở viền bên phải.

  3. Sau đó kéo con trỏ đến viền bên phải của ô B4.

  4. Khi có màn hình hiển thị, hãy thả chuột.

  5. Và hai nội dung tế bào đã được hoán đổi.

nhập mô tả hình ảnh ở đây

Với phương pháp này, chúng ta cũng có thể hoán đổi hai hàng hoặc cột liền kề.


8
Điều này nên được chọn anser với tôi. Cảm ơn bạn!
Nam G VU

2
Nó không làm việc cho tôi. Nó chỉ chèn các ô trống giữa 2 ô đó
phuclv

2
Điều này chỉ hoạt động cho các ô liền kề không phải là những gì câu hỏi ban đầu yêu cầu.
jpierson

Điều này hoàn toàn không hoạt động đối với tôi trên Excel 2010 - nó nhanh chóng nhấp nháy, nhưng nội dung của các ô vẫn không thay đổi.
Hashim

@phuclv Tôi gặp vấn đề tương tự như bạn trước khi tôi nhận ra rằng, ở bước 2, tôi đã đặt con trỏ chuột ở viền dưới bên phải thay vì viền giữa bên phải.
Richard

17

Đối với trường hợp cụ thể của phạm vi hình chữ nhật cùng kích thước liền kề , bạn có thể sử dụng phương pháp được mô tả trong câu trả lời này cho một câu hỏi tương tự .

  1. Chọn phạm vi bên phải hoặc dưới cùng
  2. Nhấn Ctrl+X
  3. Chọn phạm vi liền kề (nghĩa là trực tiếp ở trên hoặc bên trái)
  4. Nhấn Ctrl+ +( +thường nằm phía trên =phím để phím này dịch thành Ctrl+ Shift+ =)

Lưu ý bạn có thể sử dụng cùng một quy trình để hoán đổi toàn bộ các hàng hoặc cột liền kề.


1
Xuất sắc. Điều này thật đúng với gì mà tôi đã tìm kiếm. Có thể sử dụng các phím tắt và có thể hoạt động trên nhiều ô nhanh hơn rất nhiều.
Anthony G - công lý cho Monica

Điều này không làm việc cho tôi. Và các tế bào liền kề nhau. Tôi không biết tại sao điều này không hoạt động. Có bất kỳ lời giải thích cụ thể cho lệnh này?
Chủ nghĩa nhân văn thông minh

15

Nói một cách dễ dàng, ý tôi là một phím tắt hoặc mục menu, không liên quan đến việc sao chép vào các ô tạm thời hoặc viết các tập lệnh VBA hoặc bất cứ thứ gì tương tự. Tôi đang tìm cách chỉ chọn hai ô và bấm vào một số mục menu hoặc nhấn một số tổ hợp phím sẽ hoán đổi nội dung của chúng.

Tại sao áp đặt hạn chế này? Tạo một macro làm cho tầm thường này. Theo tôi biết, nó không thể được thực hiện bằng bất kỳ cách nào khác. Bạn có thể gán macro cho một nút hoặc phím nóng.

Sub Swap()     
    If Selection.Count <> 2 Then     
         MsgBox "Select 2 cells (only) to swap."     
         Exit Sub     
    End If     
    Set trange = Selection     
    If trange.Areas.Count = 2 Then     
         temp = trange.Areas(2)     
         trange.Areas(2) = trange.Areas(1)     
         trange.Areas(1) = temp     
    Else     
         temp = trange(1)     
         trange(1) = trange(2)     
         trange(2) = temp     
    End If     
End Sub     

4
Tôi không phải là chuyên gia về VBA và không có thời gian cũng không có khuynh hướng trở thành một. Tôi cũng thường xuyên sử dụng nhiều máy tính khác nhau. Sẽ thật tuyệt khi hoán đổi có sẵn trên mọi máy tính tôi sử dụng cho Excel, mà không cần phải tìm mã cho macro VBA làm điều đó, để tôi có thể liên kết nó với một phím nóng.
Dan Mould

3
@Dan Thật tuyệt nếu mọi người đều có thể tích hợp chức năng thú cưng của họ vào Excel, nhưng sau đó nó sẽ trở thành một mớ hỗn độn thậm chí còn nhiều hơn thế. Có một lý do tại sao Excel có ngôn ngữ macro, để tự động hóa các tác vụ lặp đi lặp lại như thế này. Tôi đã đăng mã được tìm thấy thông qua một tìm kiếm google. Bạn không phải là một chuyên gia.
ghoppe

+1 vba là cách excel cho phép bạn thêm các chức năng thú cưng của mình. cũng có nhiều cách để làm cho vba có sẵn trên nhiều máy tính, cho chính bạn hoặc cho tất cả mọi người (ví dụ: sổ làm việc cá nhân hoặc addins)
chris neilsen 18/03/2016

9
Tôi hầu như không gọi việc hoán đổi nội dung của hai ô / hàng / cột là hàm pet.
Nicolai

5
@ghoppe Có thể không cần thiết, nhưng nếu bạn tìm kiếm nhanh về "hoán đổi nội dung của hai ô trong excel" (mà bạn đã có) thì rõ ràng Dan và tôi hầu như không phải là người duy nhất quan tâm đến tính năng này.
Nicolai

5

Không. Không có cách nào để trao đổi nội dung của hai ô trong Excel, mà không cần viết macro của riêng bạn để thực hiện.

EDIT: Có vẻ như bây giờ có thể là một cách dễ dàng để trao đổi nội dung ô trong các phiên bản Excel gần đây hơn, vì vậy câu trả lời này có lẽ đã lỗi thời.


tuyên bố này là không chính xác. Xem câu trả lời từ user190216.
Karl Rookey

@KarlRookey Ban đầu câu trả lời đã nêu (và nó vẫn như vậy) rằng các ô phải liền kề nhau. Có vẻ như điều này có thể không còn đúng với các phiên bản Excel gần đây nữa. Nếu đó là trường hợp, thì, vâng, bây giờ có một câu trả lời tốt hơn. Cảm ơn!
Dan Mould

Cảm ơn đã nói điều này. Tất cả các ví dụ ở đây có tác dụng phụ là hoán đổi hai ô (nếu chúng liền kề nhau) nhưng không "hoán đổi các ô", nó "dịch chuyển" các ô.
Peter Ritchie

2

Chọn bộ ô đầu tiên được hoán đổi và nhấn ctrl+ x:

Chọn các ô BESIDE những ô bạn muốn trao đổi và nhấn ctrl+ +.


1
Điều này chỉ hoạt động nếu các ô liền kề. Mặt khác, toàn bộ công cụ được dịch chuyển gần các ô mục tiêu.
tumchaaditya

0

Bạn có thể dán tối đa 25 mục vào bảng tạm, để chúng dễ dàng trao đổi bằng cách sử dụng tab ctr + hoặc cmd + tab mac


2
Đây có phải là một tính năng Mac tiêu chuẩn? Tác giả của câu hỏi đã không xác định họ đang ở trên nền tảng nào. Tôi không chắc liệu bảng tạm tiêu chuẩn trong tất cả các phiên bản Windows có chứa nhiều mục hay không, nhưng các tiện ích miễn phí luôn sẵn có để cung cấp chức năng đó (và các phím tắt có thể thay đổi). Bạn có thể mở rộng câu trả lời của mình để làm cho nó toàn diện hơn cho phương pháp này không?
fixer1234

Tôi đã thử điều này trên Windows nhưng không thể tìm ra. Tôi thậm chí đã thử tùy chọn ctrl + shift + p thường hoạt động trong Visual Studio để dán ra khỏi vòng clipboard.
jpierson


0

Tôi đọc bài đăng này nhưng thực sự cần một macro để hoán đổi phạm vi đầy đủ. Ngoài ra, tôi cần phải trao đổi màu sắc. Đã sửa đổi macro được đăng ban đầu một chút, điều này có thể hữu ích cho ai đó.

Sub Swap()

    If Selection.Areas.Count <> 2 Then
         MsgBox "Select 2 cell ranges (only) to swap."
         Exit Sub
    End If


    If Selection.Areas(1).Count <> Selection.Areas(2).Count Then
         MsgBox "The two areas must be of equal size"
         Exit Sub
    End If

    'With this for loop we run through each cell 1 by 1
    For i = 1 To Selection.Areas(1).Count
        'Swapping values
        temp = Selection.Areas(1)(i)
        Selection.Areas(1)(i) = Selection.Areas(2)(i)
        Selection.Areas(2)(i) = temp

        'Swapping color
        tempColor = Selection.Areas(1)(i).DisplayFormat.Interior.Color
        Selection.Areas(1)(i).Interior.Color = Selection.Areas(2)(i).DisplayFormat.Interior.Color
        Selection.Areas(2)(i).Interior.Color = tempColor
    Next i

End Sub
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.