Bạn tô màu vàng đó theo điều kiện nào? còn công thức đếm theo màu thì không có, phải dùng VBAEm có 1 bảng excel gồm các giá trị và các ô tô màu.
Nhờ các bác giúp đếm các ô có màu vàng và có giá trị >=1 và <2.
Em cảm ơn.
em tô màu thủ công ạ. còn đếm các ô màu thì em có đếm theo VBA mà các bác share ấy (CountCellsByBackColor) nhưng chỉ đếm được theo 1 điều kiện là mà, ko đếm được như countifs ạ.Bạn tô màu vàng đó theo điều kiện nào? còn công thức đếm theo màu thì không có, phải dùng VBA
em tô màu thủ công ạ. còn đếm các ô màu thì em có đếm theo VBA mà các bác share ấy. (CountCellsByBackColor)
mình đã sửa như bạn chỉ nhưng ko đc ạ. Mình muốn đếm các ô có màu(cụ thể trong files đính kèm là màu vàng) và có giá trị >=1 và <2 ạTrong file bạn gửi đã có sẵn cái hàm CountCellsByBackColor, bạn sửa câu lệnh If indRefColor = cellCurrent.Interior.ColorIndex Then
thành If indRefColor = cellCurrent.Interior.ColorIndex And cellCurrent.Cells(1, 1).Value >= 1 And cellCurrent.Cells(1, 1).Value < 2 Then
và sử dụng nó là được.
em ko hiểu lắm nên bác có thể làm trên file em gửi ko ạ? em cảm ơnFunction CountCellsByBackColor(rData As Range, cellRefColor As Long) As Long
Dim indRefColor As Long
Dim cellCurrent As Range
Dim cntRes As Long
cntRes = 0
indRefColor = cellRefColor
For Each cellCurrent In rData
If indRefColor = cellCurrent.Interior.Color And cellCurrent.Cells(1, 1).Value >= 1 And cellCurrent.Cells(1, 1).Value < 2 Then
cntRes = cntRes + 1
End If
Next cellCurrent
CountCellsByBackColor = cntRes
End Function
'============================================
Sub test1()
Dim R As Range, Mau As Long
Set R = Range(Cells(1, 6), Cells(100, 6))
Mau = 65535 'mau vang
MsgBox CountCellsByBackColor(R, Mau)
End Sub
cảm ơn bạn nhưng nếu là mầu khác và khoảng giá trị khác thì đổi ntn ạ?Cách dùng hàm đếm này, bạn xem công thức trong ô F38 nhé.
Màu thì bạn thay sốcảm ơn bạn nhưng nếu là mầu khác và khoảng giá trị khác thì đổi ntn ạ?
vậy màu vàng em thay là số bất kỳ không phải 65535 được không hay bắt buộc phải là giá trị ấy ạ.Màu thì bạn thay số
65535 (màu vàng) bằng số khác ( ví dụ đỏ là 255, xanh là 5287936), còn khoảng giá trị thì phải sửa lại code ở dòng này
If indRefColor = cellCurrent.Interior.Color And cellCurrent.Cells(1, 1).Value >= 1 And cellCurrent.Cells(1, 1).Value < 2 Then
Thay số cụm ">= 1" và "< 2" bằng giá trị bạn muốn.