Đặng Sơn Bá
Đặng Sơn Bá
Thảo luận 5 thảo luận
Vỗ tay 1 vỗ tay
Lượt xem 128 lượt xem

Chào và các bạn e đang vướng đếm sô ô không màu trong bảng chấm công thì code vba tính luôn cả ô màu, có cách khắc phục nào không ạ?

Chào Thầy và các bạn, e đang vướng đếm sô ô không màu trong bảng chấm công, khi chạy code thì hàm tính luôn cả ô màu. trong bảng e có sử dụng conditional forrmat để tô màu màu T7, CN khi thay đổi tháng, nhơg Thầy giúp e với ạ!

Thảo luận 5 câu trả lời
Lượt xem 128 lượt xem
Vỗ tay 1 vỗ tay
Đặng Sơn Bá 11:04 - Apr 12, 2022

Mình nghĩ hướng này:

Bạn nên có 1 dòng Loại ngày để phân biệt rõ ra từng loại ngày: Ngày thường, ngày nghỉ tuần, ngày lễ.

Sau đó dùng hàm COUNTIFS, SUMIFS là có thể tính được số công loại trừ các ngày nghỉ tuần, nghỉ lễ được (chỉ tính với điều kiện là ngày thường).

Khi đó việc tính toán đơn giản hơn nhiều so với dùng VBA xử lý tình huống này. Nếu dùng VBA bạn có thể làm theo cách xét theo vòng lặp Loại ngày. Bản chất vẫn gần giống với cách dùng hàm COUNTIFS, SUMIFS thôi. Hoặc dùng VBA lấy kết quả của hàm thôi (viết hàm vào ô đầu tiên, filldown, sau đó chỉ lấy kết quả và bỏ công thức đi)

Vỗ tay vỗ tay
Đặng Sơn Bá 20:04 - Apr 12, 2022
dạ e cảm ơn Thầy ạ!
Vỗ tay vỗ tay
Đặng Sơn Bá 09:04 - Apr 13, 2022

Chào bạn bạn làm như sau với vba


Vỗ tay vỗ tay
Đặng Sơn Bá 08:04 - Apr 15, 2022


Sub dem_T7_CN()

Application.ScreenUpdating = False

Range("al5").ClearContents

Dim i As Integer

For i = 4 To 34

    If Cells(6, i).Value = "" Then

    Exit Sub

ElseIf WorksheetFunction.Weekday(Cells(6, i)) = 7 Or _

   WorksheetFunction.Weekday(Cells(6, i)) = 1 Then

    Range("al5").Value = Range("al5").Value + 1

End If

Next i

Application.ScreenUpdating = True

End Sub

Vỗ tay vỗ tay
Đặng Sơn Bá 08:04 - Apr 15, 2022
Dạ e cảm ơn Thây ạ. e làm theo cách căn cứ vào hàng thứ 6, lấy tổng số ngày của tháng - ngày T7,CN
Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông