huynhphuong thcspt
Thành viên mới
- Tham gia
- 31/8/18
- Bài viết
- 45
- Được thích
- 10
1/ Chào các bạn trên diễn đàn !
Mình dùng hàm CountIfs có kết hợp với vòng lập For để thống kê học sinh chưa đi học. ( tại các ô tô màu vàng theo file đính kèm (V19 : AD27) ). Code viết như sau:
2/ Mong các bạn giúp giùm mình, bằng cách nào đó làm gọn lại đoạn code trên. Xin chân thành cảm ơn!
Mình dùng hàm CountIfs có kết hợp với vòng lập For để thống kê học sinh chưa đi học. ( tại các ô tô màu vàng theo file đính kèm (V19 : AD27) ). Code viết như sau:
Rich (BB code):
Sub TK()
Dim lr As Long, dol As Long
With Sheets("DATA")
lr = .Cells(Rows.Count, 1).End(xlUp).Row
For dol = 19 To 27
Cells(dol, 22).Value = WorksheetFunction.CountIfs(.Range("G5:G" & lr), Cells(dol, 1), .Range("AE5:AE" & lr), "1", .Range("AT5:AT" & lr), "") 'Chua hoc lop 1
Next dol
For dol = 19 To 27
Cells(dol, 23).Value = WorksheetFunction.CountIfs(.Range("G5:G" & lr), Cells(dol, 1), .Range("AE5:AE" & lr), "2", .Range("AT5:AT" & lr), "") 'Chua hoc lop 2
Next dol
For dol = 19 To 27
Cells(dol, 24).Value = WorksheetFunction.CountIfs(.Range("G5:G" & lr), Cells(dol, 1), .Range("AE5:AE" & lr), "3", .Range("AT5:AT" & lr), "") 'Chua hoc lop 3
Next dol
For dol = 19 To 27
Cells(dol, 25).Value = WorksheetFunction.CountIfs(.Range("G5:G" & lr), Cells(dol, 1), .Range("AE5:AE" & lr), "4", .Range("AT5:AT" & lr), "") 'Chua hoc lop 4
Next dol
For dol = 19 To 27
Cells(dol, 26).Value = WorksheetFunction.CountIfs(.Range("G5:G" & lr), Cells(dol, 1), .Range("AE5:AE" & lr), "5", .Range("AT5:AT" & lr), "") 'Chua hoc lop 5
Next dol
For dol = 19 To 27
Cells(dol, 27).Value = WorksheetFunction.CountIfs(.Range("G5:G" & lr), Cells(dol, 1), .Range("AE5:AE" & lr), "6", .Range("AT5:AT" & lr), "") 'Chua hoc lop 6
Next dol
For dol = 19 To 27
Cells(dol, 28).Value = WorksheetFunction.CountIfs(.Range("G5:G" & lr), Cells(dol, 1), .Range("AE5:AE" & lr), "7", .Range("AT5:AT" & lr), "") 'Chua hoc lop 7
Next dol
For dol = 19 To 27
Cells(dol, 29).Value = WorksheetFunction.CountIfs(.Range("G5:G" & lr), Cells(dol, 1), .Range("AE5:AE" & lr), "8", .Range("AT5:AT" & lr), "") 'Chua hoc lop 8
Next dol
For dol = 19 To 27
Cells(dol, 30).Value = WorksheetFunction.CountIfs(.Range("G5:G" & lr), Cells(dol, 1), .Range("AE5:AE" & lr), "9", .Range("AT5:AT" & lr), "") 'Chua hoc lop 9
Next dol
End With
End Sub