Nhờ tạo bảng công tự động từ dữ liệu có sẵn

Liên hệ QC

bienrong1974

Thành viên mới
Tham gia
15/3/08
Bài viết
18
Được thích
9
Minh có 1 bảng dữ liệu về ngày công của nhân viên nhưng không làm sao tại ra 1 bảng chấm công tự động cho nhân viên được. Vì nhân viên khá nhiều nên việc tại bảng chấm công tự động này rất có ích cho mình. Mong các cao thủ trên diễn đàn giúp đỡ. Thanks nhiều.
 

File đính kèm

Minh có 1 bảng dữ liệu về ngày công của nhân viên nhưng không làm sao tại ra 1 bảng chấm công tự động cho nhân viên được. Vì nhân viên khá nhiều nên việc tại bảng chấm công tự động này rất có ích cho mình. Mong các cao thủ trên diễn đàn giúp đỡ. Thanks nhiều.
Dùng Macro nhé
PHP:
Sub ChamCong()
Application.ScreenUpdating = False
Dim MaNV As Integer
Range(Sheets("Cham cong").[D7], Sheets("Cham cong").[B65536].End(xlUp).Offset(, 32)).ClearContents
For Each cll In Range(Sheets("Du lieu").[A4], Sheets("Du lieu").[A65536].End(xlUp))
    MaNV = Application.WorksheetFunction.Match(cll, Range(Sheets("Cham cong").[B7], Sheets("Cham cong").[B65536].End(xlUp)), 0)
    'MsgBox MaNV
    If cll.Offset(, 6).Value = "NL" Then
        Sheets("Cham cong").[B7].Offset(MaNV - 1, Day(cll.Offset(, 2).Value) + 1).Value = "NL"
    ElseIf cll.Offset(, 8).Value = 1 Then
        Sheets("Cham cong").[B7].Offset(MaNV - 1, Day(cll.Offset(, 2).Value) + 1).Value = "x"
    ElseIf cll.Offset(, 6).Value = "CN" Then
        Sheets("Cham cong").[B7].Offset(MaNV - 1, Day(cll.Offset(, 2).Value) + 1).Value = "CN"
    Else
        Sheets("Cham cong").[B7].Offset(MaNV - 1, Day(cll.Offset(, 2).Value) + 1).Value = cll.Offset(, 7).Value
    End If
Next
Application.ScreenUpdating = True
End Sub
Công thức cũng được nhưng nếu dữ liệu lớn tôi e file sẽ chạy ì ạch.
 

File đính kèm

Web KT

Bài viết mới nhất

Back
Top Bottom