Richard đang cố gắng sử dụng Tìm và Thay thế để đếm các ô được định dạng bằng một màu tô cụ thể. Điều này hoạt động tốt, ngoại trừ khi điền là kết quả của Định dạng có điều kiện. Trong trường hợp này, Tìm và Thay thế không tìm thấy chúng. Tuy nhiên, vẫn có thể lọc các hàng chứa các ô được định dạng có điều kiện dựa trên màu tô của chúng. Richard tự hỏi tại sao, nếu Autofilter có thể phát hiện một trong hai loại định dạng ô, Tìm và Thay thế không thể định vị các ô đó.

Tất nhiên, bất cứ điều gì có thể được đưa ra như một “lý do” sẽ là suy đoán. (Đã nhiều lần tôi tự hỏi tại sao Microsoft lại chọn làm những việc theo cách họ đã làm.) Nói như vậy, có nghĩa là Tìm và Thay thế sẽ được mã hóa để bạn có thể tìm thấy những thứ có thể thay thế. Màu tô hiển thị do Định dạng có điều kiện chỉ là màu – màu hiển thị, không phải màu tô thực. Không thể thay thế màu hiển thị, vì vậy không thể tìm thấy màu hiển thị.

Tuy nhiên, bạn có thể sử dụng một phương pháp khác để hiển thị số lượng bạn muốn — một macro. Macro sau đây xem xét tất cả các ô trong một phạm vi cụ thể và nếu tìm thấy một màu phù hợp với màu mong muốn, thì bộ đếm sẽ tăng lên. (Đó là đối tượng .DisplayFormat được kiểm tra, vì vậy nó có màu “như được hiển thị”, có nghĩa là nó cũng khớp với những gì Định dạng có điều kiện có thể hiển thị.)

Sub CountCellColors()

Dim Rng As Range     Dim c As Range     Dim Colr As Variant     Dim J As Integer     Dim sTemp As String

Set Rng = Range("A1:Z500") 'Change as needed     Colr = vbYellow            'Set color you want to count

J = 0     sTemp = ""

For Each c In Rng         If c.DisplayFormat.Interior.Color = Colr Then             J = J + 1             sTemp = sTemp & vbCr & "     " & c.Address         End If     Next c

Select Case J         Case 0             sTemp = "There are no colored cells in the range."

Case 1             sTemp = "There is 1 colored cell in the range:" _               & vbCr & sTemp         Case Else             sTemp = "There are " & J & " colored cells in the range:" _               & vbCr & sTemp     End Select     MsgBox sTemp End Sub

Khi macro chạy xong, nó sẽ hiển thị một hộp thông báo cho biết số lượng màu phù hợp cũng như địa chỉ của các ô được khớp. Như đã viết, macro kiểm tra các ô A1: Z500 và nó sẽ tìm màu vàng điền vào các ô. Cả hai dòng nơi các giá trị này được đặt có thể được thay đổi thành bất kỳ giá trị nào phù hợp với nhu cầu của bạn.

_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 (13742) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.