Sửa lỗi 'This action won't work on multiple selections' trong Excel khi chọn vùng không liên tục

intermediate📊 Microsoft Excel2026-06-02| Microsoft Excel 2016, 2019, 2021, Microsoft 365 — Windows và macOS

Error Message

This action won't work on multiple selections.
#excel#selection#non-contiguous#merge#format#paste

Tình Huống

Bạn dùng Ctrl+click để chọn nhiều vùng không liền nhau — ví dụ các cột A, C và E trong một báo cáo quý — rồi thử gộp ô, sắp xếp hoặc áp dụng định dạng. Excel lập tức báo lỗi:

This action won't work on multiple selections.

Vùng chọn biến mất. Không có gì được áp dụng. Đây là một trong những giới hạn của Excel hay "phục kích" bạn ngay giữa chừng khi đang dọn dẹp báo cáo.

Tại Sao Excel Chặn Thao Tác Này

Nguyên nhân gốc rễ là vấn đề hình học. Excel phân biệt rõ ràng giữa vùng liền nhau (một hình chữ nhật hoàn chỉnh, như A1:C10) và vùng không liền nhau (các khu vực rời rạc được chọn cùng nhau bằng Ctrl). Các thao tác như Merge hoặc Sort cần một hình chữ nhật duy nhất, rõ ràng để xử lý. Khi bạn chọn riêng lẻ cột A và cột C, Excel không thể xác định ô gộp sẽ nằm ở đâu — hay bảng sắp xếp bắt đầu và kết thúc ở điểm nào.

Các thao tác gây ra lỗi này khi dùng với vùng chọn không liền nhau:

  • Merge & Center — cần một hình chữ nhật duy nhất
  • Sort — yêu cầu một vùng dữ liệu liền nhau
  • Chèn/Xóa hàng hoặc cột — khi các vùng chọn trải dài qua các hàng hoặc cột khác nhau
  • Paste Special → Transpose
  • Nhóm hàng/cột (Data → Group)
  • Tạo Bảng (Ctrl+T)

Những gì vẫn hoạt động trên vùng chọn không liền nhau: định dạng cơ bản (in đậm, màu nền, cỡ chữ, định dạng số), Clear Contents và xóa nội dung ô bằng phím Delete.

Cách Khắc Phục Nhanh: Xử Lý Từng Vùng Một

Cách giải quyết nhanh nhất — nhấp vào vùng đầu tiên, thực hiện thao tác, rồi chuyển sang vùng tiếp theo. Tuy tẻ nhạt nếu bạn có 8 cột riêng lẻ, nhưng hoàn toàn không có nguy cơ làm hỏng dữ liệu.

Riêng với thao tác gộp ô, hãy thử dùng Center Across Selection thay thế. Trông y hệt ô đã gộp nhưng thực ra không gộp gì cả — nên hoàn toàn tránh được lỗi này.

  • Chọn các ô bạn muốn căn giữa
  • Ctrl+1 → tab Alignment
  • Horizontal: Center Across Selection
  • OK

Danh tính từng ô vẫn được giữ nguyên, nghĩa là các công thức, sắp xếp và lọc dữ liệu đều hoạt động bình thường.

Khắc Phục Bằng VBA: Áp Dụng Thao Tác Trên Tất Cả Các Vùng

Phải làm đi làm lại nhiều lần? Một macro ngắn lặp qua Selection.Areas sẽ xử lý gọn gàng. Mỗi Area là một vùng con liền nhau riêng biệt trong vùng chọn không liền nhau của bạn — cách Excel biểu diễn nội bộ từng mảnh riêng lẻ.

Ví dụ: Gộp Từng Khối Không Liền Nhau Riêng Lẻ

Sub MergeEachArea()
    Dim area As Range
    For Each area In Selection.Areas
        With area
            .Merge
            .HorizontalAlignment = xlCenter
        End With
    Next area
End Sub

Ví dụ: Sắp Xếp Từng Vùng Độc Lập

Sub SortEachArea()
    Dim area As Range
    For Each area In Selection.Areas
        area.Sort Key1:=area.Cells(1, 1), Order1:=xlAscending, Header:=xlYes
    Next area
End Sub

Ví dụ: Áp Dụng Định Dạng Số Cho Tất Cả Các Vùng

Sub FormatAllAreas()
    Dim area As Range
    For Each area In Selection.Areas
        area.NumberFormat = "#,##0.00"
    Next area
End Sub

Để chạy macro: Alt+F11 → Insert Module → dán code vào → F5, hoặc gán vào một nút trên ribbon.

Paste Special Trên Vùng Đích Không Liền Nhau

Lỗi paste ở đây thường do vùng đích không liền nhau, không chỉ là vùng nguồn. Khi vùng đích có khoảng trống, Excel không thể xác định điểm đến rõ ràng cho từng ô đã sao chép.

Hai cách xử lý: paste vào vùng đích đầu tiên, rồi nhấn Ctrl+Y (Lặp lại) cho từng vùng tiếp theo. Hoặc paste vào một khối liền nhau tạm thời trước, rồi cắt-dán sang các đích thực sự từng cái một.

Giải Pháp Thay Thế Bằng Format Painter

Format Painter xử lý tốt với nhiều vùng chọn. Nhấp đúp vào cọ vẽ để khóa nó, rồi lần lượt nhấp vào từng vùng đích. Nhấn Escape khi hoàn tất. Với các công việc định dạng thuần túy, cách này tránh được lỗi mà không cần viết code.

Điều Chỉnh Quy Trình Làm Việc Lâu Dài

Gặp vấn đề này mỗi tuần? Lưu macro VBA vào Personal Macro Workbook (PERSONAL.XLSB) để dùng được trên tất cả file, không chỉ file hiện tại. Sau đó gán nó vào nút trên Quick Access Toolbar.

  • Mở PERSONAL.XLSB (Alt+F11 → VBAProject (PERSONAL.XLSB) → Insert Module) và dán macro vòng lặp Area vào
  • File → Options → Quick Access Toolbar → Choose commands from: Macros
  • Thêm macro của bạn và đặt tên hiển thị cùng biểu tượng

Lần sau: Ctrl+click các vùng không liền nhau, nhấn nút trên toolbar một lần. Xong.

Kiểm Tra Kết Quả

  • Sau khi chạy vòng lặp VBA, nhấp vào từng vùng và xác nhận thao tác đã được áp dụng — đã gộp, sắp xếp hoặc định dạng đúng như mong muốn
  • Với gộp ô: nhấp vào một ô trong vùng đã gộp → Name Box (góc trên bên trái) phải hiển thị một vùng như A1:C1, không chỉ là A1
  • Với sắp xếp: kiểm tra hàng tiêu đề vẫn ở đúng vị trí và các hàng dữ liệu đã theo thứ tự tăng dần
  • Không có hộp thoại lỗi nghĩa là thành công. Thêm xử lý lỗi để phát hiện các lỗi âm thầm:
Sub MergeEachAreaSafe()
    Dim area As Range
    On Error Resume Next
    For Each area In Selection.Areas
        area.Merge
        If Err.Number <> 0 Then
            MsgBox "Merge failed on " & area.Address & ": " & Err.Description
            Err.Clear
        End If
    Next area
End Sub

Related Error Notes