Tính giờ chấm công ngày Lễ tết

Liên hệ QC
Cám ơn bạn đã hỗ trợ nhưng vấn đề là tổng của Ngày Lễ và ngày Nghỉ cuối tuần chỉ được 24 giờ thôi. Như yêu cầu bên dưới ấy bạn. Code hiện tại giới hạn cho chỉ ngày Lễ hoặc ngày Cuối Tuần là 24h tổng lại của 2 loại ngày nghỉ đó hơn 24h/tháng.
Chỉnh tiếp
Mã:
Function NgayNghi(MaNV$, Maso As Range, ChamCong As Range, Optional NghiLe& = 0) As Single
  Dim sRow&, sCol&, i&, j&, Le&, CN&
  sRow = ChamCong.Rows.Count: sCol = ChamCong.Columns.Count
  For i = 1 To sRow
    If MaNV = Maso(i, 1).Value Then
      For j = 1 To sCol
        If ChamCong(i, j).Value <> Empty Then
          If ChamCong(i, j).Font.ColorIndex = 42 Then
            CN = CN + 1
          ElseIf ChamCong(i, j).Font.ColorIndex = 3 Then
            Le = Le + 1
          End If
        End If
      Next j
    End If
  Next i
 
  If Le >= 3 Then NgayNghi = 24 Else NgayNghi = Le * 8
  If NghiLe = 0 Then
    If CN * 8 >= 24 - NgayNghi Then
      NgayNghi = 24 - NgayNghi
    Else
      NgayNghi = CN * 8
    End If
  End If
End Function
 
Chỉnh tiếp
Mã:
Function NgayNghi(MaNV$, Maso As Range, ChamCong As Range, Optional NghiLe& = 0) As Single
  Dim sRow&, sCol&, i&, j&, Le&, CN&
  sRow = ChamCong.Rows.Count: sCol = ChamCong.Columns.Count
  For i = 1 To sRow
    If MaNV = Maso(i, 1).Value Then
      For j = 1 To sCol
        If ChamCong(i, j).Value <> Empty Then
          If ChamCong(i, j).Font.ColorIndex = 42 Then
            CN = CN + 1
          ElseIf ChamCong(i, j).Font.ColorIndex = 3 Then
            Le = Le + 1
          End If
        End If
      Next j
    End If
  Next i

  If Le >= 3 Then NgayNghi = 24 Else NgayNghi = Le * 8
  If NghiLe = 0 Then
    If CN * 8 >= 24 - NgayNghi Then
      NgayNghi = 24 - NgayNghi
    Else
      NgayNghi = CN * 8
    End If
  End If
End Function
Cám ơn bạn nhiều. Code chạy chuẩn rồi bạn. Chỉ có cái là khi mình đổi màu vào ô tương ứng để đánh dấu ngày nghỉ thì công thức nó không tự động tính toán lại số giờ, phải F2 tại ô đó hoặc kéo lại công thức thì mới tính toán lại. Trong thiết lập Formulas của Excel mình đã để Automatic rồi mà vẫn không hiệu quả.

Xin hỏi bạn @HieuCD là có cách nào để sau khi mình đổi màu đánh dấu ngày nghỉ thì công thức nó tự chạy mà không cần phải F2 hay kéo công thức cả cột để cập nhật lại số giờ.

Xin cám ơn bạn nhiều lắm
 
Cám ơn bạn nhiều. Code chạy chuẩn rồi bạn. Chỉ có cái là khi mình đổi màu vào ô tương ứng để đánh dấu ngày nghỉ thì công thức nó không tự động tính toán lại số giờ, phải F2 tại ô đó hoặc kéo lại công thức thì mới tính toán lại. Trong thiết lập Formulas của Excel mình đã để Automatic rồi mà vẫn không hiệu quả.

Xin hỏi bạn @HieuCD là có cách nào để sau khi mình đổi màu đánh dấu ngày nghỉ thì công thức nó tự chạy mà không cần phải F2 hay kéo công thức cả cột để cập nhật lại số giờ.

Xin cám ơn bạn nhiều lắm
Đổi màu Function không tự cập nhật được, bắt sự kiện mở sheet
Chép code dán vào sheet Tonghop
Mã:
Private Sub Worksheet_Activate()
  Sheet2.Calculate
End Sub
 
Mình còn thêm 1 sheet để hoàn thành công việc mong bạn @HieuCD xem và hỗ trợ dùm mình cho xong luôn ah.
Yêu cầu chi tiết mình có đính kèm theo file Excel. (chủ yếu lấy ngày được đánh dấu chấm công để lên sheet Cham Cong)

Mình rất cám ơn bạn đã nhiệt tình giúp đỡ.
 

File đính kèm

  • IN PHIEU BAO CHAM CONG.xlsx
    97.4 KB · Đọc: 5
Mình còn thêm 1 sheet để hoàn thành công việc mong bạn @HieuCD xem và hỗ trợ dùm mình cho xong luôn ah.
Yêu cầu chi tiết mình có đính kèm theo file Excel. (chủ yếu lấy ngày được đánh dấu chấm công để lên sheet Cham Cong)

Mình rất cám ơn bạn đã nhiệt tình giúp đỡ.
Không biết có giới hạn số giờ công không?
 

File đính kèm

  • IN PHIEU BAO CHAM CONG.xlsx
    105.5 KB · Đọc: 9
Làm thêm 5 ngày vậy bỏ ngày nào không liệt kê? cho ví dụ nha
Cũng tối đa là 3 ngày ah bạn mỗi ngày 8 giờ, ưu tiên thì cũng ngày Lễ sau đó đến ngày Cuối tuần. Ngày lễ thì theo bảng ngày Nghỉ lễ trong năm.

Cám ơn bạn nhiều lắm
 
Cũng tối đa là 3 ngày ah bạn mỗi ngày 8 giờ, ưu tiên thì cũng ngày Lễ sau đó đến ngày Cuối tuần. Ngày lễ thì theo bảng ngày Nghỉ lễ trong năm.

Cám ơn bạn nhiều lắm
Ý mình là trình bày kết quả như thế nào?
Nhập tay kết quả
 

File đính kèm

  • IN PHIEU BAO CHAM CONG.xlsx
    105.6 KB · Đọc: 15
Web KT
Back
Top Bottom