Mình có làm Code tính số ngày nghỉ như sau:
Nếu thu = 0 thì tính những ngày t7+CN trong kỳ, thu=8 tính những ngày lễ theo range("ngayle") (tạo 1 name những ngày lễ), thu=1 tính bao nhiêu CN...
Xin hỏi, khi thu = 8 thì tính số ngày nghỉ lễ, ví dụ: A1=songay(ngaycuoi,ngaydau,8) là số ngày lễ trong thời gian cuoi-dau. Nhưng khi mình bỏ bớt 1 ngày lễ trong name ngayle thì thì A1 không update ngay mà phải vào A1 edit thì mới update.
Cám ơn chân thành!
Function Songay(NgayCuoi As Date, NgayDau As Date, Thu As Integer) As Integer
Dim i As Integer
Dim ThoiGian As Integer
Dim songay1 As Integer
'lay hieu so ngaycuoi-ngaydau
'neu thu =0, tinh bao nhieu T7+CN, thu=8 tinh bao nhieu ngay le
If NgayCuoi < NgayDau Or Thu > 8 Then
MsgBox ("Ban nhap sai-nhap lai songay(ngaycuoi,ngaydau,thu), thu < 9")
Exit Function
End If
ThoiGian = NgayCuoi - NgayDau
For i = ThoiGian To 0 Step -1
'1 la CN, 2 la thu 2 ....,7 la thu 7
'neu thu =0 tinh bao nhieu thu bay va cn
If Thu = 0 And (Weekday(NgayCuoi - i) = 1 Or Weekday(NgayCuoi - i) = 7) Then
Songay = Songay + 1
End If
If Weekday(NgayCuoi - i) = Thu Then
Songay = Songay + 1
End If
If Thu = 8 And WorksheetFunction.CountIf(Range("ngayle"), NgayCuoi - i) > 0 Then
Songay = Songay + 1
End If
Next i
End Function
Nếu thu = 0 thì tính những ngày t7+CN trong kỳ, thu=8 tính những ngày lễ theo range("ngayle") (tạo 1 name những ngày lễ), thu=1 tính bao nhiêu CN...
Xin hỏi, khi thu = 8 thì tính số ngày nghỉ lễ, ví dụ: A1=songay(ngaycuoi,ngaydau,8) là số ngày lễ trong thời gian cuoi-dau. Nhưng khi mình bỏ bớt 1 ngày lễ trong name ngayle thì thì A1 không update ngay mà phải vào A1 edit thì mới update.
Cám ơn chân thành!