huyhoangjo
Thành viên mới
- Tham gia
- 8/9/20
- Bài viết
- 12
- Được thích
- 1
hiện tại e có đoạn code cũ chạy lỗi
yêu cầu : Tài xê lái xe phải chấm công vào buổi sáng( không chấm tính không đi làm) và giờ về buổi chiều
- nếu chấm giờ trưa thì không tính tăng ca thêm 1 tiếng
- nếu không chấm giờ trưa thì được tính thêm 1 tiếng tăng ca
Hiện tại file em chay không hiểu cữ mặc định đc công 1 tiếng tăng ca
Ai biết chỉ em fix với ah.
Sau đó lấy code SOGIOLAM_TANGCA bỏ vào Module_DULIEUCHAMCONG
yêu cầu : Tài xê lái xe phải chấm công vào buổi sáng( không chấm tính không đi làm) và giờ về buổi chiều
- nếu chấm giờ trưa thì không tính tăng ca thêm 1 tiếng
- nếu không chấm giờ trưa thì được tính thêm 1 tiếng tăng ca
Hiện tại file em chay không hiểu cữ mặc định đc công 1 tiếng tăng ca
Ai biết chỉ em fix với ah.
Code này được viết trong Module_FUNCTIONFunction SOGIOLAM_TANGCA(GR As Variant, ByVal BOPHAN As String, MNV, RNG As Range)
Dim Phut As Byte
GR = GR - Int(GR)
'DIEU CHINH GIO VAO RA
Select Case MNV
Case 23, 304, 141, 202, 304, 290, 16, 252, 53, 419, 431, 152, 338
SOGIOLAM_TANGCA = 0
Exit Function
'GIO TANG CA LAI XE
Case 89
'TANG CA LO XE
tc = 1
If MNV = 89 Then
For I = 1 To 5
If RNG(1, 1) = "" Or GR < TimeSerial(12, 0, 0) Then
tc = 0
Exit For
End If
If RNG(1, I) >= TimeSerial(10, 30, 0) And RNG(1, I) <= TimeSerial(11, 15, 0) Then
tc = 0
Exit For
End If
Next
If GR > TimeSerial(16, 25, 0) Then
SOGIOLAM_TANGCA = TimeSerial(tc, 0, 0) + GR - TimeSerial(16, 0, 0)
If Minute(SOGIOLAM_TANGCA) >= 55 Then
SOGIOLAM_TANGCA = Hour(SOGIOLAM_TANGCA) + 60 / 60
ElseIf Minute(SOGIOLAM_TANGCA) >= 25 Then
SOGIOLAM_TANGCA = Hour(SOGIOLAM_TANGCA) + 30 / 60
Else
SOGIOLAM_TANGCA = Hour(SOGIOLAM_TANGCA) + 0 / 60
End If
Else
SOGIOLAM_TANGCA = tc
End If
Else '338
'TANG CA LAI XE
For I = 1 To 5
If RNG(1, 1) = "" Or GR < TimeSerial(13, 0, 0) Then
tc = 0
Exit For
End If
If RNG(1, I) >= TimeSerial(11, 30, 0) And RNG(1, I) <= TimeSerial(12, 15, 0) Then
tc = 0
Exit For
End If
Next
If GR > TimeSerial(17, 25, 0) Then
SOGIOLAM_TANGCA = TimeSerial(tc, 0, 0) + GR - TimeSerial(17, 0, 0)
If Minute(SOGIOLAM_TANGCA) >= 55 Then
SOGIOLAM_TANGCA = Hour(SOGIOLAM_TANGCA) + 60 / 60
ElseIf Minute(SOGIOLAM_TANGCA) >= 25 Then
SOGIOLAM_TANGCA = Hour(SOGIOLAM_TANGCA) + 30 / 60
Else
SOGIOLAM_TANGCA = Hour(SOGIOLAM_TANGCA) + 0 / 60
End If
Else
SOGIOLAM_TANGCA = tc
End If
End If
Exit Function
End Select
Sau đó lấy code SOGIOLAM_TANGCA bỏ vào Module_DULIEUCHAMCONG