shetos17177 قام بنشر السبت at 08:54 قام بنشر السبت at 08:54 نشكركم على مجهودكم الرائع سجل غياب الطلاب.xlsx
عبدالله بشير عبدالله قام بنشر السبت at 10:30 قام بنشر السبت at 10:30 (معدل) السلام عليكم ورحمة الله وبركاته الكود Sub CheckAbsence() Dim ws As Worksheet Dim lastRow As Long, i As Long, j As Long Dim countConsecutive As Long, maxConsecutive As Long Dim countTotal As Long Dim msg As String Dim cell As Range Set ws = ThisWorkbook.Sheets("ورقة1") lastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row For i = 2 To lastRow countConsecutive = 0 maxConsecutive = 0 countTotal = 0 ' المرور على نطاق الغياب C:AG For Each cell In ws.Range("C" & i & ":AG" & i) If cell.Value = "غ" Then countConsecutive = countConsecutive + 1 countTotal = countTotal + 1 If countConsecutive > maxConsecutive Then maxConsecutive = countConsecutive End If Else countConsecutive = 0 End If Next cell msg = "" If maxConsecutive >= 15 Then msg = "مفصول" ElseIf maxConsecutive >= 5 Then msg = "إنذار أول" End If If countTotal >= 30 Then msg = "مفصول" ElseIf countTotal >= 24 Then msg = "إنذار ثالث" ElseIf countTotal >= 16 Then msg = "إنذار ثاني" ElseIf countTotal >= 8 And msg = "" Then msg = "إنذار أول" End If ws.Cells(i, "AH").Value = msg Next i End Sub الملف سجل غياب الطلاب1.xlsb تم تعديل منذ 23 ساعات بواسطه عبدالله بشير عبدالله 3
shetos17177 قام بنشر السبت at 22:16 الكاتب قام بنشر السبت at 22:16 (معدل) اولا شكرا جزيلا على الكود الرائع اما بخصص 30 يوم منفصلة فى تكون على مدار العام وليس شهر لان الغياب يحسب على مدار العام وليس كل شهر منفصل تم تعديل السبت at 22:16 بواسطه shetos17177 1
عبدالله بشير عبدالله قام بنشر منذ 23 ساعات قام بنشر منذ 23 ساعات لم انتبه كنت اعتقد ان الغياب خاص بالموظفين وليس للطلبة فعذرا لذلك على كل حال 30 يوم منفصلة موجودة في الكود من ضمن الشروط تحياتي
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان