Tách các ô dựa trên màu văn bản (Microsoft Excel)
Thomas có một cột không chứa gì ngoài giá trị văn bản, chẳng hạn như câu và cụm từ. Một số ô hiển thị văn bản của chúng bằng màu đỏ và phần còn lại có màu đen. Anh ấy muốn có một cách để phân tách văn bản sao cho các ô văn bản màu đen vẫn ở trong cột và các ô văn bản màu đỏ được chuyển sang cột tiếp theo.
Có một số cách bạn có thể tiếp cận vấn đề này. Có lẽ cách tiếp cận đơn giản nhất là sắp xếp hoặc lọc cột có các giá trị văn bản trong đó. Excel cho phép bạn lọc và sắp xếp dựa trên màu văn bản, có nghĩa là bạn có thể chỉ nhìn thấy các ô văn bản màu đỏ hoặc đặt tất cả các ô văn bản màu đỏ vào một phạm vi liền kề. Sau đó, việc cắt các ô chữ màu đỏ và dán chúng vào cột tiếp theo là một nhiệm vụ dễ dàng.
Ví dụ, đây là cách bạn thực hiện loại:
-
Chọn các ô chứa các giá trị văn bản của bạn.
-
Hiển thị tab Dữ liệu của dải băng.
-
Bấm vào công cụ Sắp xếp trong nhóm Sắp xếp & Bộ lọc. Excel sẽ hiển thị hộp thoại Sắp xếp.
-
Sử dụng danh sách thả xuống Sắp xếp Trên, chọn Màu Phông chữ.
-
Sử dụng danh sách thả xuống Thứ tự để cho biết bạn muốn hiển thị màu nào đầu tiên trong danh sách đã sắp xếp. (Đây là nơi bạn sẽ chọn màu đỏ của mình. Danh sách thả xuống bao gồm từng màu được phát hiện trong phạm vi bạn đã chọn ở bước 1)
-
Nhấp vào OK.
Bây giờ các ô của bạn được sắp xếp, theo màu sắc, với màu được chỉ định trong bước 5 ở đầu phạm vi ô. Bạn có thể dễ dàng sao chép nó hoặc di chuyển nó sang một cột khác. Bạn có thể sử dụng các bước chung tương tự nếu bạn muốn lọc các giá trị văn bản của mình dựa trên màu phông chữ.
Nếu muốn, bạn cũng có thể sử dụng macro để di chuyển các ô chữ màu đỏ của mình.
Đây là một ví dụ sao chép giá trị ô và màu phông chữ sang bên phải một ô.
Sub MoveRedText1() Dim c As Range If Selection.Columns.Count > 1 Then Exit Sub For Each c In Selection If c.Font.Color = vbRed Then c.Offset(0, 1) = cell.Value c.Offset(0, 1).Font.Color = vbRed c.ClearContents c.Font.Color = vbBlack End If Next c End Sub
Để sử dụng macro, chỉ cần chọn các ô bạn muốn phân tích và sau đó chạy macro. Nó không sao chép tất cả định dạng của các ô mà nó đang di chuyển; nếu điều đó là quan trọng, bạn thực sự có thể sử dụng một macro đơn giản hơn nhiều để di chuyển.
Sub MoveRedText2() Dim c As Range For Each c In Selection If c.Font.Color = vbRed Then _ c.Cut Destination:=c.Offset(0, 1) Next c End Sub
Nếu bạn sử dụng một trong hai macro này và các ô văn bản màu đỏ của bạn không di chuyển, có thể là do các ô không thực sự sử dụng văn bản màu đỏ. Có nhiều sắc thái khác nhau của màu đỏ có thể được hiển thị trong Excel, vì vậy bạn sẽ cần phải điều chỉnh macro để đảm bảo rằng bạn đang kiểm tra màu phông chữ phù hợp.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (12604) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.