Excel cho phép bạn áp dụng tất cả các loại định dạng cho các ô trong sổ làm việc của bạn. Một trong những điều bạn có thể làm là “tô bóng” các ô bằng cách sử dụng một mẫu hoặc màu sắc. (Bạn thực hiện việc này trên tab Mẫu của hộp thoại Định dạng Ô.) Tại một số điểm, bạn có thể muốn biết có bao nhiêu ô trong một phạm vi được tô bóng.

Không có công thức trang tính nào trong Excel cho phép bạn đếm các ô tô bóng. Thay vào đó, bạn phải phát triển macro của riêng mình để thực hiện việc này. Macro sau đây là một ví dụ về cách tiếp cận vấn đề này. Nó đếm số lượng ô tô bóng trong phạm vi từ A1 đến J20 và đặt số lượng vào ô A1.

Sub CountColor()

Dim irow, icol As Integer

Cells(1, 1) = 0     For irow = 1 To 20         For icol = 1 To 10             If Cells(irow, icol).Interior.ColorIndex _               <> xlColorIndexNone Then                 Cells(1, 1) = Cells(1, 1) + 1             End If         Next icol     Next irow End Sub

Lưu ý rằng trung tâm của quy trình là phép so sánh được thực hiện giữa ColorIndex của mỗi ô và hằng số xlColorIndexNone được xác định trước. Nếu chúng không bằng nhau, thì ô đã được tô bóng theo một cách nào đó.

Kỹ thuật cơ bản tương tự này có thể dễ dàng thích ứng với một chức năng tùy chỉnh.

Lưu ý ở phần sau rằng so sánh tương tự được thực hiện trên cơ sở từng ô:

Function FindShades(a As Range) As Integer     FindShades = 0     For Each c In a         If c.Interior.ColorIndex <> xlColorIndexNone Then             FindShades = FindShades + 1         End If     Next c End Function

Để sử dụng hàm này, chỉ cần sử dụng nó trong một ô, làm công thức và chỉ định một phạm vi trong công thức:

= FindShades(B7:E52)

_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 (2059) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.