اذهب الي المحتوي
أوفيسنا

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

قام بنشر

إخواني أعضاء المنتدي الكرام بعد سلام الله عليكم ورحمته وبركاته

هذا كود لعمل ترحيل لبيانات التلميذ 

ولكن لا يرحل كل التلاميذ بيعدي 1 أو اثنين

عايز اعرف ايه الخطا

 'هذا الكود للنابغه ساجده العزاوي
' وهي من أهلنا بالعراق أعز الله العراق وأذل أعداءه
'تم في اكتوبر 2017
'كمعطيات المحترم ابو أحمد محمدي
'الهدف من الكود هو استخراج الشهادات
'كل 3 شهادات في صفحه واحدة
'بثلاث معايير
'=*=*=*=*=*
 Dim SHEHADA As Worksheet, DATA As Worksheet
 Dim myArray, targt, targt2 As String
 
    'اسم صفحة المصدر
    Set DATA = Worksheets("ص")
    
     'اسم صفحة الهدف
    Set SHEHADA = Worksheets("جدول الامتحان مع رقم الجلوس ")
'===================
 
   ' targt3 = "5/1"
    targt = SHEHADA.Range("N125").Value & "*"
'===================
C = 0
Application.ScreenUpdating = False
    lr = DATA.Cells(Rows.Count, 2).End(xlUp).Row   'اخر صف به بيانات

' عدد الصفوف الخارجة
'عن التوزيع في ورقة مصدر البيانات
  'هذا السطر في حال شهادات الكل
       For i = 14 To lr      
       'هذا السطر في حال طلب شهادات محدده
     '   For i = sh4.Cells(7, 18).Value To sh4.Cells(7, 19).Value
    '=======
If DATA.Cells(i, 5) Like targt & "*" And C = 0 Then
     Range("E117") = DATA.Cells(i, 2)
            C = C + 1
   ElseIf DATA.Cells(i, 5) Like targt & "*" And C = 1 Then
     Range("E130") = DATA.Cells(i, 2)
            C = C + 1
      ElseIf DATA.Cells(i, 5) Like targt & "*" And C = 2 Then
     Range("E143") = DATA.Cells(i, 2)
            C = C + 1
   ElseIf DATA.Cells(i, 5) Like targt & "*" And C = 3 Then
     Range("E156") = DATA.Cells(i, 2)
            C = C + 1
  ' ElseIf DATA.Cells(i, 101) Like targt & "*" And DATA.Cells(i, 104) Like targt2 & "*" And DATA.Cells(i, 103) Like targt3 & "*" And c = 3 Then
    ' SHEHADA.Range("M51") = DATA.Cells(i, 2)
           ' c = c + 1
            '===
            End If
     If i = lr And C = 4 Then SHEHADA.Range("A149:L160").PrintOut: Exit For
     If i = lr And C = 3 Then SHEHADA.Range("A136:L147").PrintOut: Exit For
    If i = lr And C = 2 Then SHEHADA.Range("A123:L134").PrintOut: Exit For
    If i = lr And C = 1 Then SHEHADA.Range("A109:L121").PrintOut: Exit For
     If i < lr And (Range("E143") = "" Or Range("E156") = "") Then GoTo 1
    If i < lr And C = 4 Then SHEHADA.Range("A109:L160").PrintOut
      C = 0
     Range("E117") = ""
     Range("E130") = ""
     Range("E143") = ""
      Range("E156") = ""
    ' Range("M51") = ""
    
1:
   Next i
     Range("E117") = ""
     Range("E130") = ""
     Range("E143") = ""
      Range("E156") = ""

    ' Range("M51") = ""
   Application.ScreenUpdating = True
End Sub

ولكم جزيل الشكر

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