اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

دفتر 68 غياب


إذهب إلى أفضل إجابة Solved by محمد هشام.,

الردود الموصى بها

السلام عليكم ورحمة الله وبركاته وكالعادة عندما تصعب علينا الامور نلجا الى خبراءنا فى هذا الموقع المبارك فى شيت البيانات اسجل الغياب من خلال الفورم اختار الاسم الغائب واليوم واضع حرف غ كل هذا من خلال الفورم ثم ارحل كل ده تمام المطلوب ان ينقل تاريخ اسم الغائب فى شيت تجميع الغياب هنضرب مثال الاسم الاول عندى فى الغياب اسمه عماد غاب يوم 8 / 2 / 2023 ويوم 16 / 2 / 2023 يبحث عن اسم عماد فى شيت تجميع الغياب ويضع تاريخ الغياب امام الاسم وجعلكم الله عونا لنا وللامثالنا وهذا مثال للحل المطلوب

دفتر 68 غياب.xlsm

رابط هذا التعليق
شارك

وعليكم السلام ورحمة الله وبركاته 

أستاذ سعد هل تقصد إضافة تاريخ اليوم أمام الإسم؟ 

 

تم تعديل بواسطه Mohamed Hicham
رابط هذا التعليق
شارك

هل هناك مانع  بادخال التاريخ يدويا مثلا في تكست بوكس ويتم ترحيله امام اسم الطالب عند الترحيل 

تم تعديل بواسطه Mohamed Hicham
رابط هذا التعليق
شارك

  • أفضل إجابة

تفضل أستاد سعد. قد تم إضافة بعض المعادلات البسيطة لاستخراج التاريخ و تكست بوكس يتم إضافة تاريخ الغياب اليها تلقائيا عند إختيار اليوم مع ترحيله أمام إسم الطالب في شيت التجميع 

شيت البيانات الخلية .("AH2") .

=EQUIV($AH$4;{"يناير";"فبراير";"مارس";"أبريل";"مايو";"يونيو";"يوليه";"أغسطس";"سبتمبر";"أكتوبر";"نوفمبر";"ديسمبر"};0)

الخلية  .(AH1")

=SI(AH2<10;0&AH2;AH2)

بالنسبة لليوزرفورم إليك الأكواد التالية 

Private Sub TARHIL_Click()
Dim x As Range
Dim lastRow As Long
Dim WS2 As Range, WS1 As Range

If ComboBox1.Text = Empty And ComboBox2 = Empty And TextBox1 = Empty Then
MsgBox "المرجوا ادخال البيانات", Exclamation, "تنبيه"
Exit Sub
End If

LR = Sheets("البيانات").Range("B" & Rows.Count).End(xlUp).Row
LR2 = Sheets("تجميع الغياب").Range("B" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False

'التحقق من وجود اسم الطالب مسبقا لمنع التكرار في شيت البيانات 
  Set WS1 = Sheets("البيانات").Range("B7:B" & LR).Find(what:=ComboBox1, LookIn:=xlValues, lookat:=xlWhole)
   If Not WS1 Is Nothing Then
Set x = Cells.Find(ComboBox1.Value, , , 1)
x.Offset(, ComboBox2.Value) = TextBox1.Value
     Else
    Range("B" & LR + 1) = ComboBox1
    Set x = Cells.Find(ComboBox1.Value, , , 1)
x.Offset(, ComboBox2.Value) = TextBox1.Value
     End If
 
''''''''''''''''''''''''''''''''''''''''''''''''''''
Sheets("تجميع الغياب").Activate  'البحث عن الطالب ووضع تاريخ الغياب امام الاسم '
  Set WS2 = Sheets("تجميع الغياب").Range("B6:B" & LR2).Find(what:=ComboBox1, LookIn:=xlValues, lookat:=xlWhole)
   If Not WS2 Is Nothing Then
    Cells(WS2.Row, "I").End(xlToLeft).Offset(, 1) = TextBox2.Text '("I") العمود ' لغايةاليوم السابع
 End If
ComboBox1 = Empty
ComboBox2 = Empty
'TextBox1 = Empty
TextBox2 = Empty
Sheets("البيانات").Activate
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub UserForm_Initialize() ' تعبئة كومبوبوكس 1  باسماء الطلاب بدون تكرار من شيت تجميع الغياب
  Set f = Sheets("تجميع الغياب")
  Set Réf = CreateObject("Scripting.Dictionary")
  a = f.Range("B6:B" & f.[B65000].End(xlUp).Row)
  For I = LBound(a) To UBound(a)
    If a(I, 1) <> Empty Then Réf(a(I, 1)) = Empty
  Next I
  WS2 = Réf.keys
  Me.ComboBox1.List = WS2
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub ComboBox2_Change() 'اظافة التاريخ
Me.TextBox1.Text = "غ"
If Me.ComboBox2.Value <= 9 Then
Me.TextBox2.Text = Sheets("البيانات").Range("AH3").Text & "/" + Sheets("البيانات").Range("AH1").Text & "/" + "0" & ComboBox2.Text
Else
Me.TextBox2.Text = Sheets("البيانات").Range("AH3").Text & "/" + Sheets("البيانات").Range("AH1").Text & "/" & ComboBox2.Text
End If
End Sub

تم إرفاق نسختين لنفس الملف ليبقى لك الإختيار في إظهار تكست التاريخ أو إخفائها 

 

دفتر الغياب.rar

  • Like 2
رابط هذا التعليق
شارك

9 ساعات مضت, Mohamed Hicham said:

تفضل أستاد سعد. قد تم إضافة بعض المعادلات البسيطة لاستخراج التاريخ و تكست بوكس يتم إضافة تاريخ الغياب اليها تلقائيا عند إختيار اليوم مع ترحيله أمام إسم الطالب في شيت التجميع 

شيت البيانات الخلية .("AH2") .

=EQUIV($AH$4;{"يناير";"فبراير";"مارس";"أبريل";"مايو";"يونيو";"يوليه";"أغسطس";"سبتمبر";"أكتوبر";"نوفمبر";"ديسمبر"};0)

الخلية  .(AH1")

=SI(AH2<10;0&AH2;AH2)

بالنسبة لليوزرفورم إليك الأكواد التالية 

Private Sub TARHIL_Click()
Dim x As Range
Dim lastRow As Long
Dim WS2 As Range, WS1 As Range

If ComboBox1.Text = Empty And ComboBox2 = Empty And TextBox1 = Empty Then
MsgBox "المرجوا ادخال البيانات", Exclamation, "تنبيه"
Exit Sub
End If

LR = Sheets("البيانات").Range("B" & Rows.Count).End(xlUp).Row
LR2 = Sheets("تجميع الغياب").Range("B" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False

'التحقق من وجود اسم الطالب مسبقا لمنع التكرار في شيت البيانات 
  Set WS1 = Sheets("البيانات").Range("B7:B" & LR).Find(what:=ComboBox1, LookIn:=xlValues, lookat:=xlWhole)
   If Not WS1 Is Nothing Then
Set x = Cells.Find(ComboBox1.Value, , , 1)
x.Offset(, ComboBox2.Value) = TextBox1.Value
     Else
    Range("B" & LR + 1) = ComboBox1
    Set x = Cells.Find(ComboBox1.Value, , , 1)
x.Offset(, ComboBox2.Value) = TextBox1.Value
     End If
 
''''''''''''''''''''''''''''''''''''''''''''''''''''
Sheets("تجميع الغياب").Activate  'البحث عن الطالب ووضع تاريخ الغياب امام الاسم '
  Set WS2 = Sheets("تجميع الغياب").Range("B6:B" & LR2).Find(what:=ComboBox1, LookIn:=xlValues, lookat:=xlWhole)
   If Not WS2 Is Nothing Then
    Cells(WS2.Row, "I").End(xlToLeft).Offset(, 1) = TextBox2.Text '("I") العمود ' لغايةاليوم السابع
 End If
ComboBox1 = Empty
ComboBox2 = Empty
'TextBox1 = Empty
TextBox2 = Empty
Sheets("البيانات").Activate
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub UserForm_Initialize() ' تعبئة كومبوبوكس 1  باسماء الطلاب بدون تكرار من شيت تجميع الغياب
  Set f = Sheets("تجميع الغياب")
  Set Réf = CreateObject("Scripting.Dictionary")
  a = f.Range("B6:B" & f.[B65000].End(xlUp).Row)
  For I = LBound(a) To UBound(a)
    If a(I, 1) <> Empty Then Réf(a(I, 1)) = Empty
  Next I
  WS2 = Réf.keys
  Me.ComboBox1.List = WS2
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub ComboBox2_Change() 'اظافة التاريخ
Me.TextBox1.Text = "غ"
If Me.ComboBox2.Value <= 9 Then
Me.TextBox2.Text = Sheets("البيانات").Range("AH3").Text & "/" + Sheets("البيانات").Range("AH1").Text & "/" + "0" & ComboBox2.Text
Else
Me.TextBox2.Text = Sheets("البيانات").Range("AH3").Text & "/" + Sheets("البيانات").Range("AH1").Text & "/" & ComboBox2.Text
End If
End Sub

تم إرفاق نسختين لنفس الملف ليبقى لك الإختيار في إظهار تكست التاريخ أو إخفائها 

 

دفتر الغياب.rar 94.14 kB · 8 downloads

مساء الفل يا استاذ محمد هشام طب لو نحب نخلي في خانت اضافة الغياب يسمح بأضافة رموز اخري مثل ( O  للاجازة - P للحضور - A  للغياب بأذن - S للمرضي - X للغياب بأذن ) حتي يتم عمل شيت حضور و انصراف كامل  ويتم الترحيل بنفس الفكره في صفحه اخري 

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information