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

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

قام بنشر

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

عايز أعرف أين الخطأ في هذا الكود

هو يجلب بيانات ( الاسم ورقم الجلوس والفصل ورقم اللجنة من (شيت صف رابع ) بناء علي القائمة المنسدلة ( N17  )

ولكم جزيل الشكرنهال.xlsmنهال.xlsm

قام بنشر

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

تم تصحيح الكود ليعمل بشكل صحيح

و لكن يتوجب عليك تسطير الكثير من الجداول التى سوف يتم تفريغ البيانات بها

و ليس 4 فقط كما هو موضح فى الملف المرفق مع مشاركتك الاولى

اليك الكود

Sub StudId()
Dim ws As Worksheet, sh As Worksheet
Dim Arr As Variant, Tmp As Variant
Set ws = Sheets("جدول الامتحان مع رقم الجلوس 1")
Set sh = Sheets("شيت صف رابع")
lr = sh.Range("B" & Rows.Count).End(3).Row
fsl = ws.Range("N17").Text
For i = 14 To sh.Range("D" & Rows.Count).End(3).Row
If sh.Cells(i, 4) = fsl Then
p = p + 1
x = (p - 1) * 13 + 7
ws.Cells(x, 2) = sh.Cells(i, 3)
ws.Cells(x + 1, 2) = sh.Cells(i, 2)
ws.Cells(x + 2, 2) = sh.Cells(i, 5)
ws.Cells(x + 1, 5) = sh.Cells(i, 4)
End If
Next
End Sub

 

  • Like 1
قام بنشر

شكرا جزيلا وربنا يجعله في ميزان حسناتك

معلش أنا طمعان في كرمك

هل ينفع نعمل عداد بحيث يجلب بيانات باقي بيانات الفصل متتالية بحيث كل 3 اسماء يتم طباعتها في صفحة واحدة أو اعملها ( print preview ) ثم طباعتها

قام بنشر (معدل)

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

فى البداية يجب انشاء قائمة منسدلة فى الخلية N7 تبدأ برقم 1 حتى يعمل معك الكود بشكل صحيح

ثم استخدم الكود التالى

Sub StudId()
Dim ws As Worksheet, Sh As Worksheet
Dim Arr As Variant
Dim i As Integer, j As Integer, p As Integer
Dim x As Integer, y As Integer, m As Integer
Dim Fsl As String, n As Integer
Set ws = Sheets("جدول الامتحان مع رقم الجلوس 1")
Set Sh = Sheets("شيت صف رابع")
   '---------------------
Arr = Array("B7", "B8", "B9", "E8", "B20", "B21", "B22", "E21", _
"B33", "B34", "B35", "E34", "B46", "B47", "B48", "E47")
For m = 0 To UBound(Arr)
ws.Range(Arr(m)).ClearContents
Next
   '----------------------
LR = Sh.Range("B" & Rows.Count).End(3).Row
Fsl = ws.Range("N17").Text
n = ws.Range("N2").Value
x = (n - 1) * 4 + 1
y = n * 4
For i = 14 To LR
If Sh.Cells(i, 4).Text = Fsl Then
p = p + 1
If p >= x And p <= y Then
j = (p - x) * 13 + 7
ws.Cells(j, 2) = Sh.Cells(i, 3)
ws.Cells(j + 1, 2) = Sh.Cells(i, 2)
ws.Cells(j + 2, 2) = Sh.Cells(i, 5)
ws.Cells(j + 1, 5) = Sh.Cells(i, 4)
End If
End If
Next

End Sub

 

تم تعديل بواسطه ابراهيم الحداد
قام بنشر

الف شكر علي رد حضرتك

معلش أنا آسف أنا لما عملت قائمة منسدلة في ( n7 ) مفيش حاجة جديدة هو نفس الكود الأول

ايه فائدة ( n7 ) ؟؟

وأرفقت الملفنهال1.xlsm

  • أفضل إجابة
قام بنشر

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

انا طلبت منك عمل قائمة منسدلة لتسهيل الامر عليك فى التنفيذ

و لكن حقيقة الامر  ما تم تنفيذه عندى باستخدام زر سبينر "Spinner 2"

و لذلك سأرسل اليك الملف بعد التعديل لتطلع عليه بنفسك

نهال.xlsm

 

  • Like 1
  • Thanks 1
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information