Cách đếm hoặc tính tổng các ô có màu nhất định trong Excel

Tải xuống Sổ làm việc Ví dụ

Tải xuống sổ làm việc mẫu

Hướng dẫn này sẽ cho bạn thấy cách đếm hoặc tính tổng các ô của một màu nền nhất định bằng VBA.

Hãy xem xét phạm vi sau trong Excel.

Không có hàm tích hợp sẵn trong Excel để đếm các ô màu. Thay vào đó, chúng ta phải tạo một Hàm do người dùng xác định bằng VBA.

Đếm ô - Tạo một chức năng tùy chỉnh VBA

Đếm bao nhiêu ô có một màu nhất định bằng VBA là vấn đề tạo ra một hàm do người dùng xác định (UDF) sẽ lặp qua tất cả các ô trong phạm vi và xác định xem màu nền của mỗi ô có khớp với màu nền mà bạn không. đang kiểm tra và sau đó sử dụng hàm đó trong trang tính Excel.

Trong VBA, chúng tôi tạo một hàm để đếm các ô đã chọn.

12345678910111213141516 Hàm CountCellsByColor (rng As Range, ColorCell As Range) Như đôiDim dblCount As DoubleDim rngCell As Range'Vòng lặp qua từng ô trong phạm viĐối với mỗi rngCell Trong rng'kiểm tra xem màu bên trong có giống màu với ô bạn đã chọn khôngNếu rngCell.Interior.Color = ColorCell.Interior.Color thìNếu IsNumeric (rngCell.Value) = Đúng thì'tăng số đếm lên 1 nếu màu đúng.dblCount = dblCount + 1Kết thúc nếuKết thúc nếuKế tiếp'Trả lại giá trị cho ExcelCountCellsByColor = dblCountChức năng kết thúc

Sau đó, sử dụng hàm này trong trang tính để trả về giá trị.

1 = CountCellsByColor (B2: E10, G4)
  1. Bấm vào ô màu cam trong G4 và bấm Chèn Hàm.

  1. Lựa chọn Đã xác định người dùng làm danh mục, rồi chọn CountCellsByColor như chức năng sử dụng.

  1. Nhấp chuột VÂNG.

  1. Đánh dấu dải ô chứa tất cả các ô được tô màu.

  1. Chọn ColorCell, và sau đó nhấp vào VÂNG.

Lặp lại quy trình để Đếm các ô có màu Nền xanh lục.

1 = CountCellsByColor (B2: E10, G5)

Tổng các ô - Tạo một hàm VBA tùy chỉnh

Chúng tôi tạo một hàm tùy chỉnh tương tự trong VBA để tính tổng các giá trị của các ô của một màu nhất định.

12345678910111213141516 Hàm SumCellsByColor (rng As Range, ColorCell As Range) As DoubleDim dblSum As DoubleDim rngCell As Range'Vòng lặp qua từng ô trong phạm viĐối với mỗi rngCell Trong rng'kiểm tra xem màu bên trong có giống màu với ô bạn đã chọn khôngNếu rngCell.Interior.Color = ColorCell.Interior.Color thìNếu IsNumeric (rngCell.Value) = Đúng thì'thêm giá trị vào biến của bạn nếu màu chính xácdblSum = dblSum + rngCell.ValueKết thúc nếuKết thúc nếuKế tiếp'Trả lại giá trị cho ExcelSumCellsByColor = dblSumChức năng kết thúc

Sau đó, chúng tôi sẽ một lần nữa sử dụng hàm này trong Trang tính để tổng hợp các ô cần thiết.

1 = SumCellsByColor (B2: E10, G7)

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave