Thầy ơi, có cách nào để đếm được các ô đã được tô màu với Conditional Formatting không ạ?
Em sử dụng hàm tự tạo CountByColor (được chia sẻ trên mạng) nhưng chỉ đếm được các ô đã tô màu bằng Format Painter. Chứ ko đếm được ô đã tô màu bằng Conditional Formatting ạ? Cảm ơn thầy nhiều
Hàm CountByColor
Hàm CountByColor em lấy trên mạng đây ạ
Function CountByColor(range_data As range, criteria As range) As Long
Dim datax As range
Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
If datax.Interior.ColorIndex = xcolor Then
CountByColor = CountByColor + 1
End If
Next datax
End Function
Về bản chất việc tô màu trong CF khác với tô màu bằng Format cells thông thường nên không đếm màu được.
Bạn có thể dùng đúng lệnh đã dùng trong CF để đếm, thay vì chờ CF hoạt động rồi đếm màu của nó.
Ví dụ: trong CF bạn có công thức tự đổi màu ngày chủ nhật là =Weekday(D3)=1 áp dụng cho vùng D3:Z3
Thì bạn có thể dùng hàm COUNTIFS đếm những ngày chủ nhật trong vùng D4:Z4 (tại dòng 4 bạn dùng hàm Weekday cho những ngày ở dòng 3)
=COUNTIFS(D4:Z4, 1)
như vậy cũng tương tự với việc đếm những ô được tô màu, bởi tính trên cùng 1 kết quả.
Rất chuẩn, cảm ơn Thầy. Em đã phải dùng phương pháp gián tiếp (quy đổi ra số rồi liên kết giữa các file với nhau thông qua số)