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

يوسف عطا

05 عضو ذهبي
  • Posts

    1,754
  • تاريخ الانضمام

  • تاريخ اخر زياره

كل منشورات العضو يوسف عطا

  1. تم شرح الكود سطر سطر بالتفصيل يا أستاذة فى المشاركة السابقة
  2. شرح أكواد الطباعة بالملف الكود الأول طبع جميع الشهادات Sub printall()إسم الكود Range("I5").Selectإسم الخلية التى بها الرقم المسلسل لأول شهادة ActiveCell.FormulaR1C1 = "1" التسلسل المستخدم Activewindow.SelectedSheets.PrintOut Copies:=1, Collate:=True إطبع إطار الطباعة الذى أمامك نسخة واحدة Do بعد ذلك قم بالتالى ActiveCell = ActiveCell + 3 الرقم المسلسل التالى هو الرقم الحالى + 3 وهو عدد الشهادات فى الصفحة عند الطباعة Activewindow.SelectedSheets.PrintOut إطبع إطار الطباعة المحدد بالتتالى Loop Until ActiveCell.Value >= Range("c1").Value إستمر فى الطباعة المتتالية حتى تصل لرقم مسلسل أكبر من أو يساوى الرقم الموجودج فى الخلية سى 1 Range("a1").Select قف بالمؤشر فى الخلية A1 بعد إنهاء المهمة End Sub نهاية الكود الكود الثانى طبع الثلاث شهادات الموجودة أمامك حالياً Sub اطبع() إسم الكود Activewindow.SelectedSheets.PrintOut Copies:=1, Collate:=True إطبع إطار الطباعة الذى أمامك نسخة واحدة End Sub نهاية الكود عشمى أن أكون وفقت فى شرح الكودين والله أعلم
  3. بالنسبة لعرض جميع الشهادات لمعاينتها قبل الطباعة مرة واحدة هذا غير ممكن بهذه الطريقة ولكن يتم ذلك ببساطة عن طريق إستخدام خاصية البحث بالإسم أو البحث بالمسلسل أو البحث برقم الجلوس فى المكان المخصص للبحث أو ببساطة بكتابة رقم الجلوس مباشرة فى الخلية المدموجة الملونة فوق الشهادة العليا علماً بأن ذلك يتيح معاينة 3 شهادات متتالية فقط كل مرة بالنسبة لشرح الكود جارى شرحه فى المشاركة التالية والله أعلم
  4. تفضلى يا أستاذة زمزم لو هذا العمل يؤدى الغرض أنا جاهز للشرح علماً بأن الصفحة تطبع 3 شهادات متتالية وصفحة الشهادات مربوطة بصفحة الشيت كنترول أى أن أى تعديل فى الدرجات فى الشيت يتغير تلقائياً فى صفحة الشهادات أتمنى أن يكون هذا طلبك Control.rar
  5. ملاحظاتكم فى محلها ودى طريقة أخرى أسهل لجمع خلايا غير متجاورة حتى لو كان فى بعضها نصوص فهى تعتبر أى نص كأنه صفر =SUM(A2;C2;E2;G2;J2;L2;N2;Q2;T2;V2;Z2;AA2;AD2) نستخدم الطريقة دى فى حالة لو كانت توجد خلايا بها أرقام ولكننا لا نريد أن يتم جمع محتواها مع باقى الخلايا
  6. عمل الشهادات يعتمد أولاً على المعادلات لجلب البيانات لكل شهادة وهذه لها أكتر من طريقة تعتمد على معادلات متعددة مثل لووك اب و فى لوك اب وغيرها ثم تأتى عملية الطباعة وهى قد تعتمد على الكود أو المعادلات أو انواع من التصفية المتقدمة الرجاء تحديد المطلوب بالضبط وياريت إرفاق ملف للعمل عليه
  7. يتم ذلك عن طريق إستخدام معادلة IF حيث يتم إحتساب القيم النصية بصفر مثلاً مثال =IF(AND(L54="غ";W54="غ";AH54="غ";AT54="غ";BH54="غ";BU54="غ";CG54="غ");0;SUM(L54;W54;AH54;AT54;BH54;BU54;CG54)) على إعتبار إنك بتجمع خلايا غير متجاورة وبعضها به حرف غ فى السطر الـ 54
  8. تم ضبط الإحصائية ولكن ليس تماماً فالكود يعتبر أن شيت البيانات (السجل) هو فصل رقم 1 ويعتبر فصل رقم 1 هو فصل رقم 2 وهكذا المطلوب أن يسمى كل شيت بإسمه فى الإحصائية وهناك طلب آخر لو أمكن عند لصق البيانات اثناء الترحيل هل يمكن أن يلصقها فى عمودين مثلاً يصبح العمود الأيمن مسلسله من 1 إلى 30 والعمود الثانى من 31 إلى آخر الإحصاء حسب عدد كل فصل علماً بأننى أحتاج أن يكون العمود A خالياً العمود B للمسلسل أ العمود C للاسماء أ العمود D لرقم الفصل أ الأعمدة E و F و G و H خالية العمود I للمسلسل ب العمود J للاسماء ب العمود K لرقم الفصل ب الأعمدة L و M وN و O خالية على اساس أن المجموعة أ ستكون الأسماء على النصف الأيمن من الصفحة والمجموعة ب ستكون للأسماء على النصف الايسر من الصفحة هل هذا ممكن ؟ مرفق الملف يوسف ترحيل.rar
  9. يؤسفنى أن أنعى لكم خبر وفاة والدة الأخ الغالى سعيد بيرم ندعوا الله أن يجعل مثواها الجنة وأن يلهم أهلها الصبر والسلوان ولا أراكم الله مكروهاً فى عزيز لديكم
  10. الف شكر على إهتمامك بالموضوع أخى بن علية جارى تغيير التغييرات المذكورة ولو لم يفلح الأمر سأرفق الملف
  11. تم إستخدام الكود كما يلى وكل شئ تمام ما عدا رسالة الإحصاء التى تظهر بعد الترحيل فهى تكون سالب 3 فى كل البيانات والسلسلة تم إنجازها تمام والحمدلله المطلوب تعديل الجزء الأخير من الكود الذى يقوم بإخراج الإحصائية فى مسدج بوكس For J = 1 To 7 Sheets(J).[B5] = 1 rrw = Sheets(J).[A3000].End(xlUp).Row For Each cc In Sheets(J).Range("B6:B" & rrw) cc.Value = cc.Offset(-1, 0) + 1 Next cc Next J MsgBox ("الحمد لله تـــم ترحيل الطالبات كل إلى فصلها ") For k = 1 To 6 y = Sheets(k).[A3000].End(xlUp).Row - 4 mssg = mssg & Chr(10) & Format(y, "00") & " Students to Sheet : " & k Next k MsgBox (" تم ترحيل عدد" & mssg) Range("a1").Select Application.ScreenUpdating = True End Sub
  12. إن شاء الله وفقت يا أخى الغالى وجارى التجربة والف شكر لك يا الغلا وكل عام وأنت بخير جعل الله ايامك كلها أعياد
  13. كل عام وأنتم بخير بمناسبة عيد الفطر المبارك أعاده الله عليكم بالخير والبركة والسعادة
  14. الف حمدلله على سلامة المدام يا أخونا الغالى عبدالله والف مبروك بالمولودة التى نورت الدنيا ربنا يباركلك فيها ويرزقك برزقها
  15. راجع موضوع قديم للأخ الغالى خبور خير بعنوان كاس العالم http://www.officena.net/ib/index.php?showtopic=32562
  16. ربما يتم ذلك فى حالة تغيير كلمة PasteSpecial xlPasteValues إلى PasteSpecial xlPasteValues + PasteSpecial xlPasteformats والله أعلم
  17. الله ينور عليك يا استاذنا الغالى صحيح حرف واحد ناقص فى الكود يخلى الواحد يلف حوالين نفسه لو تكرمت كان فى طريقة بتقوم بعد الترحيل بإخراج إحصائية بعدد البيانات المرحلة فى كل شيت وعمل تسلسل تلقائى فى كل شيت هل ممكن المساعدة فى عمل هذه الإحصائية والتسلسل التلقائى هنا فى هذا الكود ؟؟ علما بأن التسلسل التلقائى سيكون فى العمود B بدءاً من الخلية B5 إلى آخر سطر يكون فيه بيانات مرحلة ومرفق جزء من كود قديم يحتوى على إحصائية مشابهة وتسلسل مشابه Next a Application.CutCopyMode = False Application.ScreenUpdating = True MsgBox "!تم الترحيل بنجاح", vbInformation + vbMsgBoxRight, "تم الترحيل" ' وهنا تطوير طفيف ليلائم العدد المتغير للحالات For i = 1 To case_NO x(i) = Sheets(sht(i)).[A3000].End(xlUp).Row - 10 mssg = mssg & Chr(10) & x(i) & " " & sht(i) Next i MsgBox (" تم ترحيل عدد" & mssg) Range("a1").Select ' وأخيرا هذا الجزء لضبط المسلسل في الشيتات التي حدث الترحيل إليها For i = 1 To case_NO Sheets(sht(i)).[A11] = 1 rrw = Sheets(sht(i)).[A3000].End(xlUp).Row For Each cc In Sheets(sht(i)).Range("A12:A" & rrw) cc.Value = cc.Offset(-1, 0) + 1 Next cc Next i On Error Resume Next On Error GoTo 0 End Sub الف شكر للغاليين وكل عام وأنتم بخير
  18. الف شكر أخونا الغالى والحبيب بن علية ولا حرمنا الله من جمايلكم وكل عام وأنتم بخير
  19. الرجاء المساعدة فى تصحيح الكود التالى مع توضيح الخطأ للتعلم الكود يقوم بترحيل الطالبات من السجل العام للصف إلى فصولهن Sub ترحيل_فصول() ''' متغيرات بعدد الصفحات المطلوب الترحيل اليها Dim R As Integer, A As Integer, B As Integer, C As Integer, D As Integer, E As Integer, F As Integer ''' أسماء الصفحات المطلوب الترحيل اليها والمدى المطلوب مسح البيانات القديمة منه Sheets("1").Range("A5:DZ5000").ClearContents Sheets("2").Range("A5:DZ5000").ClearContents Sheets("3").Range("A5:DZ5000").ClearContents Sheets("4").Range("A5:DZ5000").ClearContents Sheets("5").Range("A5:DZ5000").ClearContents Sheets("6").Range("A5:DZ5000").ClearContents ''' عدد الصفوف العليا في الصفحات المنقول اليها البيانات A = 4: B = 4: C = 4: D = 4: E = 4: F = 4 Application.ScreenUpdating = False ''' بداية ونهاية صفوف الورقة المصدر For R = 5 To 5000 ''''''''''''''''''''''''''''''''''''''''''''''''''' ''تكرر الأسطر التالية لكل شيت يتم الترحيل فيه مع تغيير المتغيرات ''' رقم عمود المعيار وكلمة المعيار If Cells(R, 4) = "1" Then ''' عدد الأعمدة التى سيتم ترحيلها Range("A" & R).Resize(1, 9).Copy ''' سيتم اللصق في هذا الشيت Sheets("1").Range("A" & A).PasteSpecial xlPasteValues Application.CutCopyMode = False A = A + 1 ''''''''''''''''''''''''''''''''''''''''''''''''''''' If Cells(R, 4) = "2" Then Range("A" & R).Resize(1, 9).Copy Sheets("2").Range("A" & B).PasteSpecial xlPasteValues Application.CutCopyMode = False B = B + 1 ''''''''''''''''''''''''''''''''''''''''''''''''''''' If Cells(R, 4) = "3" Then Range("A" & R).Resize(1, 9).Copy Sheets("3").Range("A" & C).PasteSpecial xlPasteValues Application.CutCopyMode = False C = C + 1 ''''''''''''''''''''''''''''''''''''''''''''''''''''' If Cells(R, 4) = "4" Then Range("A" & R).Resize(1, 9).Copy Sheets("4").Range("A" & D).PasteSpecial xlPasteValues Application.CutCopyMode = False D = D + 1 ''''''''''''''''''''''''''''''''''''''''''''''''''''' If Cells(R, 4) = "5" Then Range("A" & R).Resize(1, 9).Copy Sheets("5").Range("A" & E).PasteSpecial xlPasteValues Application.CutCopyMode = False E = E + 1 ''''''''''''''''''''''''''''''''''''''''''''''''''''' If Cells(R, 4) = "6" Then Range("A" & R).Resize(1, 9).Copy Sheets("6").Range("A" & F).PasteSpecial xlPasteValues Application.CutCopyMode = False F = F + 1 ''''''''''''''''''''''''''''''''''''''''''''''''''''' ' If Cells(R, 4) = "1" Then ' Range("A" & R).Resize(1, 9).Copy ' Sheets("1").Range("A" & A).PasteSpecial xlPasteValues ' Application.CutCopyMode = False ' A = A + 1 '''''''''''''''''''''''''''''''''''''''''''''''''''' End If ''''''''''''''''''''''''''''''''''''''''''''''''''''' Next MsgBox ("الحمد لله تـــم ترحيل الطالبات كل إلى فصلها ") Application.ScreenUpdating = True End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''
  20. كان يمكن ذلك فى برنامج الحكومة الإلكترونية القديم الذى كان مستخدماً منذ حوالى 10 سنوات عندما بدء العمل به فى المدارس حيث كانت قاعدة البيانات بسيطة وعبارة عن ملف أكسيس نعمل عليه فى المدارس ثم يتم إرسال الملفات إلى الإدارة التعليمية على ديسكات أو سيديهات لتجميعها ومنها للوزارة لتجميعها مرة أخرى لكن حالياً يتم إدخال البيانات أونلاين على سيرفر الوزارة مباشرة وهذه الطريقة لا تمكن من عملية تصدير البيانات من ملفات الإيكسيل
  21. كليك يمين على علامة تبويب الشيت واختار عرض التعليمات البرمجية
  22. توزيع الميداليات حتى ساعة تاريخه مع الاغتذار لعدم امكانية وضع الجدول المشار له فى العنوان وتمنياتنا لكل الدول العربية بمزيد من الميداليات جدول الميداليات الترتيب - الدولة - ذهب - فضة - برونز - مجموع الميداليات 1 الولايات المتحدة الأمريكية 41 26 27 94 2 جمهورية الصين الشعبية 37 25 19 81 3 بريطانيا 25 15 17 57 4 روسيا 15 21 26 62 5 كوريا الجنوبية 12 7 7 26 6 ألمانيا 10 18 14 42 7 فرنسا 9 9 12 30 8 المجر 8 4 3 15 9 أستراليا 7 14 10 31 10 إيطاليا 7 6 7 20 11 هولندا 6 5 8 19 12 كازاخستان 6 0 3 9 13 اليابان 5 14 16 35 14 إيران 4 5 1 10 15 نيوزيلندا 4 3 5 12 16 كوريا الشمالية 4 0 2 6 17 جامايكا 3 4 3 10 18 روسيا البيضاء 3 3 4 10 19 كوبا 3 3 4 10 20 أوكرانيا 3 1 7 11 21 جنوب أفريقيا 3 1 1 5 22 أثيوبيا 3 0 3 6 23 إسبانيا 2 7 3 12 24 رومانيا 2 5 2 9 25 الدانمارك 2 4 3 9 26 جمهورية التشيك 2 3 3 8 26 كينيا 2 3 3 8 28 البرازيل 2 2 7 11 29 بولندا 2 2 6 10 30 كرواتيا 2 1 1 4 30 تركيا 2 1 1 4 32 سويسرا 2 1 0 3 33 كندا 1 5 11 17 34 كولومبيا 1 3 4 8 35 السويد 1 3 3 7 36 جورجيا 1 2 1 4 37 سلوفينيا 1 1 2 4 38 النرويج 1 1 1 3 38 تونس 1 1 1 3 40 جمهورية الدومينيكان 1 1 0 2 41 جمهورية ايرلندا 1 0 3 4 42 ليتوانيا 1 0 2 3 43 لاتفيا 1 0 1 2 44 الجزائر 1 0 0 1 44 جزر البهاما 1 0 0 1 44 غرينادا 1 0 0 1 44 فنزويلا 1 0 0 1 48 المكسيك 0 3 2 5 49 أذربيجان 0 2 4 6 50 مصر 0 2 0 2 51 الهند 0 1 3 4 51 منغوليا 0 1 3 4 51 سلوفاكيا 0 1 3 4 54 الأرجنتين 0 1 2 3 54 أرمينيا 0 1 2 3 54 بلجيكا 0 1 2 3 57 بلغاريا 0 1 1 2 57 تايبيه الصينية 0 1 1 2 57 استونيا 0 1 1 2 57 إندونيسيا 0 1 1 2 57 ماليزيا 0 1 1 2 57 صربيا 0 1 1 2 57 تايلاند 0 1 1 2 64 بوتسوانا 0 1 0 1 64 قبرص 0 1 0 1 64 فنلندا 0 1 0 1 64 جواتيمالا 0 1 0 1 64 البرتغال 0 1 0 1 69 أوزبكستان 0 0 3 3 70 اليونان 0 0 2 2 70 مولدوفا 0 0 2 2 70 قطر 0 0 2 2 70 سنغافورة 0 0 2 2 70 ترينيداد وتوباجو 0 0 2 2 75 أفغانستان 0 0 1 1 75 البحرين 0 0 1 1 75 هونج كونج 0 0 1 1 75 الكويت 0 0 1 1 75 المغرب 0 0 1 1 75 بورتوريكو 0 0 1 1 75 السعودية 0 0 1 1 75 طاجيكستان 0 0 1 1
×
×
  • اضف...

Important Information