tôi vừa tạo này và có vẻ dễ dàng hơn. Bạn sẽ có được những 2 chức năng:
=GetColorIndex(E5) <- returns color number for the cell
từ (cell)
=CountColorIndexInRange(C7:C24,14) <- returns count of cells C7:C24 with color 14
từ (phạm vi của các tế bào, số màu sắc mà bạn muốn đếm)
ví dụ cho thấy phần trăm của các tế bào với màu 14
=ROUND(CountColorIndexInRange(C7:C24,14)/18, 4)
Tạo 2 hàm VBA này trong Mô-đun (nhấn Alt-F11)
mở + thư mục. kích đúp vào Module1
Chỉ cần dán văn bản dưới đây, sau đó đóng cửa sổ mô-đun (nó phải lưu nó rồi):
Function GetColorIndex(Cell As Range)
GetColorIndex = Cell.Interior.ColorIndex
End Function
Function CountColorIndexInRange(Rng As Range, TestColor As Long)
Dim cnt
Dim cl As Range
cnt = 0
For Each cl In Rng
If GetColorIndex(cl) = TestColor Then
Rem Debug.Print ">" & TestColor & "<"
cnt = cnt + 1
End If
Next
CountColorIndexInRange = cnt
End Function
Nguồn
2013-08-30 22:01:25
Tôi dường như không làm được điều này. Chỉ số màu sẽ xuất hiện ở mức 55 khi có 6 ô có màu. – FortunateDuke
Xin lỗi, tôi đã không hoàn thành lời giải thích của tôi. ColorIndex chỉ định giá trị chỉ mục vào bảng màu hiện tại, vì vậy bạn sẽ cần một công thức bảng tính khác để đếm số lượng hàm CellColor trả về 55. – Graham
Dưới đây là chi tiết từng bước bài viết với hình ảnh về cách tạo hàm do người dùng xác định trong bổ trợ VBA: Đếm số lượng tế bào với màu sắc tế bào cụ thể bằng cách sử dụng VBA https://support.microsoft.com/kb/2815384 – Vadzim