Đếm ô theo màu nội thất bằng VBA - Mẹo Excel

Emily hỏi:

Vui lòng bạn có thể tư vấn cho giải pháp công thức để đếm số lượng ô có màu backgorund cụ thể (tức là những ô này chứa một số dữ liệu tuy nhiên màu sắc là điều quan trọng để đếm chúng).

Về mặt logic, tôi cảm thấy nó phải tuân theo một công thức chuẩn, tức là

CountIF(A01:A55,"backgroundcolour=red")

Tôi tin rằng màu đỏ nên được xác định bằng số 3 (theo tệp trợ giúp)

Tôi cần biết cách viết mã màu ô nền, tức là colorfill ?, backgroundcolour ?, internal.color?… ???

Emily - giá mà nó dễ dàng như vậy. Bạn cần có một chức năng do người dùng xác định trong VBA. Dưới đây là mã cho chức năng. Bạn cần nhập mã này vào mô-đun mã mới trong sổ làm việc.

Khi bạn đã nhập mã, bạn có thể sử dụng công thức này:

=CountColor(A1:A99,D2)

Trong đó D2 có định dạng nền mà bạn muốn đếm.

Đây là mã:

Function CountColor(Rng As Range, RngColor As Range) As Integer Dim Cll As Range Dim Clr As Long Clr = RngColor.Range("A1").Interior.Color For Each Cll In Rng If Cll.Interior.Color = Clr Then CountColor = CountColor + 1 End If Next Cll End Function

thú vị bài viết...