2saad قام بنشر ديسمبر 22, 2021 قام بنشر ديسمبر 22, 2021 اخواني الأعزاء بعد سلام الله عليكم ورحمة الله وبركاته عايز أعرف أين الخطأ في هذا الكود هو يجلب بيانات ( الاسم ورقم الجلوس والفصل ورقم اللجنة من (شيت صف رابع ) بناء علي القائمة المنسدلة ( N17 ) ولكم جزيل الشكرنهال.xlsmنهال.xlsm
ابراهيم الحداد قام بنشر ديسمبر 23, 2021 قام بنشر ديسمبر 23, 2021 السلام عليكم ورحمة الله تم تصحيح الكود ليعمل بشكل صحيح و لكن يتوجب عليك تسطير الكثير من الجداول التى سوف يتم تفريغ البيانات بها و ليس 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 1
2saad قام بنشر ديسمبر 23, 2021 الكاتب قام بنشر ديسمبر 23, 2021 شكرا جزيلا وربنا يجعله في ميزان حسناتك معلش أنا طمعان في كرمك هل ينفع نعمل عداد بحيث يجلب بيانات باقي بيانات الفصل متتالية بحيث كل 3 اسماء يتم طباعتها في صفحة واحدة أو اعملها ( print preview ) ثم طباعتها
ابراهيم الحداد قام بنشر ديسمبر 23, 2021 قام بنشر ديسمبر 23, 2021 (معدل) السلام عليكم ورحمة الله فى البداية يجب انشاء قائمة منسدلة فى الخلية 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 تم تعديل ديسمبر 24, 2021 بواسطه ابراهيم الحداد
2saad قام بنشر ديسمبر 24, 2021 الكاتب قام بنشر ديسمبر 24, 2021 الف شكر علي رد حضرتك معلش أنا آسف أنا لما عملت قائمة منسدلة في ( n7 ) مفيش حاجة جديدة هو نفس الكود الأول ايه فائدة ( n7 ) ؟؟ وأرفقت الملفنهال1.xlsm
أفضل إجابة ابراهيم الحداد قام بنشر ديسمبر 24, 2021 أفضل إجابة قام بنشر ديسمبر 24, 2021 السلام عليكم ورحمة الله انا طلبت منك عمل قائمة منسدلة لتسهيل الامر عليك فى التنفيذ و لكن حقيقة الامر ما تم تنفيذه عندى باستخدام زر سبينر "Spinner 2" و لذلك سأرسل اليك الملف بعد التعديل لتطلع عليه بنفسك نهال.xlsm 1 1
2saad قام بنشر ديسمبر 25, 2021 الكاتب قام بنشر ديسمبر 25, 2021 شكرا جزيلا والله أنت رجل محترم وأنا تعبتك معايا
ابراهيم الحداد قام بنشر ديسمبر 25, 2021 قام بنشر ديسمبر 25, 2021 السلام عليكم ورحمة الله هذا من اصلك الطيب اشكرك على كلماتك الرقيقة و الحمد لله على تمام المطلوب
الردود الموصى بها