tungtuantu
Thành viên mới

- Tham gia
- 23/6/14
- Bài viết
- 3
- Được thích
- 0
Bạn dùng tạm cái này xem sao .Hi mọi người, mọi người giúp mình code đếm các ô bôi vàng trong 1 bảng theo như file mình gửi kèm nhé, thanks mọi người nhiều lắm
Option Explicit
Sub ColorCellsCount()
Dim Rng As Range, sRng As Range, Cls As Range, Rg0 As Range, Cll As Range
Dim J As Byte: Dim fAdd As String
Set Rng = Range([D5], [D5].End(xlDown))
For Each Cll In Range("M6:M9")
Set sRng = Rng.Find(Cll.Value, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
fAdd = sRng.Address
Do
Set Rg0 = sRng.Offset(, 1).Resize(, 5)
For Each Cls In Rg0
If Cls.Interior.ColorIndex = 6 Then
J = 1 + J
End If
Next Cls
Set sRng = Rng.FindNext(sRng)
Loop While Not sRng Is Nothing And sRng.Address <> fAdd
End If
If J Then
Cll.Offset(, 1).Value = J: J = 0
End If
Next Cll
End Sub
Thử cách này coi có xài được không?Cảm ơn các bạn đã giúp mình, mình gà phần code quá, nên đọc chưa hiểu được hết.
Đây chỉ là phàn mình đưa ra ví dụ như thế, cụ thể của mình thì cột "đội số" khoảng 1000 hàng, và phần bôi vàng của mình ko chỉ nằm ở "E6:I21" mà nó kéo rộng đến Cột FA,
Cái này các bạn có thể viết như lênh countif ko.
Cảm ơn các bạn nhiều
Option Explicit
Sub ColorCellsCount()
Dim Rng As Range, sRng As Range, Cls As Range, Rg0 As Range, Cll As Range
Dim J As Long, Tmr As Double: Dim fAdd As String
Set Rng = Range([D5], [D5].End(xlDown)): Tmr = Timer()
For Each Cll In Range("B6:B9")
Set sRng = Rng.Find(Cll.Value, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
fAdd = sRng.Address
Do
Set Rg0 = sRng.Offset(, 1).Resize(, 180)
For Each Cls In Rg0
If Cls.Interior.ColorIndex = 6 Then
J = 1 + J
End If
Next Cls
Set sRng = Rng.FindNext(sRng)
Loop While Not sRng Is Nothing And sRng.Address <> fAdd
End If
If J Then
Cll.Offset(, -1).Value = J: J = 0
End If
Next Cll
[a13].Value = Timer() - Tmr
End Sub
Bạn dùng Funtion của Bạn QuangHai đi . Muốn đếm mầu khu vực nào thì chọn khu vực đó, mở rông bao nhiêu chả được .Cảm ơn các bạn đã giúp mình, mình gà phần code quá, nên đọc chưa hiểu được hết.
Đây chỉ là phàn mình đưa ra ví dụ như thế, cụ thể của mình thì cột "đội số" khoảng 1000 hàng, và phần bôi vàng của mình ko chỉ nằm ở "E6:I21" mà nó kéo rộng đến Cột FA,
Cái này các bạn có thể viết như lênh countif ko.
Cảm ơn các bạn nhiều