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

نجوم المشاركات

  1. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      28

    • Posts

      13,165


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      17

    • Posts

      9,814


  3. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      15

    • Posts

      3,254


  4. رمهان

    رمهان

    الخبراء


    • نقاط

      7

    • Posts

      2,390


Popular Content

Showing content with the highest reputation on 08 مار, 2016 in all areas

  1. بسم الله الرحمن الرحيم اراد احد الاخوة كود لازالة بيانات من خلايا متفرقة داخل نطاق معين فخطرت ببالي هذه الفكرة وهي حذف البيانات بمعلومية لون الخليه فوضعت لكم مثال بسيط لعله يفيدكم Sub Yasser() Dim Rng As Range Application.ScreenUpdating = False For Each Rng In Range("a3:g31") If Rng.Interior.Color = Range("h1").Interior.Color Then Rng.ClearContents End If Next Rng Application.ScreenUpdating = True End Sub مع تحياتي ياسر العربي مسح بيانات بمعلومية اللون.rar
    3 points
  2. بارك الله فيك أخي الكريم كريم .. لما قريت فولازية تقريباً فيه حرفين طاروا من قدام عيني (لا) ..فقريتها فوزية ..! مين فوزية دي .. أكيد أخت فوزي الفكرة ليست في العقول بل في الاجتهاد ..ربما من كان هناك من الأعضاء من هو أذكى من الجميع ولكن لا يستغل ذكائه ، فلكل منا قدرات خاصة المهم أن نفتش عنها وننقب عنها تقبل تحياتي
    3 points
  3. السلام عليكم ورحمة الله وبركاته في أحد المشاريع التي قمت بها ، كنت محتاج الى برنامج خارجي ليقوم ببعض المهام للمشروع ، فالطريقة المعتادة التي نستعملها هي ، وضع البرنامج هذا داخل احد مجلدات المجلد الرئيسي لقاعدة البيانات ، وبما ان فقدان/حذف هذا البرنامج يجعل المشروع عاجز عن العمل ، لم يكن عندي خيار ، سوى ان اجعل هذا البرنامج داخل قاعدة البيانات ، بطريقة تسمى Blob المرفق فيه هذه الملفات: . النموذج frm_Blob مهم في انه يسمح لك بوضع برامجك في قاعدة البيانات بسهولة ، والزر الاخر هو لتصدير هذا البرنامج الى اي مجلد في الكمبيوتر (لعمل التجارب مثلا) ، وقد وضعت برنامجين في قاعدة البيانات المرفقة: 1. pdftk.exe والذي يقوم بالعديد من العمليات لملفات الـ pdf ، 2. Arc5_S_BE.mdb ، وهي قاعدة بيانات فاضية ، وبها جداول مؤقته ، فبدل ان اعمل هذه الجداول المؤقته داخل قاعدة بياناتي ، ويكبر حجمها ، رأيت ان استعمل جداول خارجية ، وعند اغلاق البرنامج ، كنت اقوم بحذفها من المجلد: . لعمل البرنامج الاول ، استخدم الزر رقم 1 ، والذي سيصدر البرنامج pdftk.exe الى مجلد قاعدة البيانات ، ثم سيدمج الملفين a.pdf و b.pdf ويحفظ النتيجة في ملف ab.pdf ، ويفتحه ، بينما الزر رقم 2 ، سيصدر قاعدة البيانات Arc5_S_BE.mdb الى المجلد الرئيسي لقاعدة بياناتنا: . عند الضغط على الزر 1 ، سنرى هذه الملفات في المجلد الرئيسي لقاعدة البيانات: . ان شاء الله يكون فيه فائدة للجميع جعفر Blob.zip
    2 points
  4. السلام عليكم ورحمة الله وبركاته إخواني الكرام لاحظت تغيب أخونا الغالي محمد حسن المحمد عن المنتدى منذ أيام ، وقلت في نفسي لعله خير ، ولكن طال غيابه عنا .. لعل يغابه عنا خير إن شاء الله من لديه رقم هاتفه أو يستطيع التواصل معه ، فليتصل به للإطمئنان عليه .. وبلغوه سلامي وتحياتي القلبية .. تقبلوا جميعاً وافر حبي وتقديري
    2 points
  5. هلا اخوي جعفر الموضوع بسيط ان شاء الله بس ممكن لم يمر عليك في برامجك لما يكون عندك حقل به مثلا سجلين 0.166 0.331 اجماليهم قبل التنسيق = 0.497 مع انه لو تم النظر لهم بعد التنسيق وبتطبيق المشاركة رقم 6 0.17 0.33 وهذا يوحي للمطلع على الرقمين ان اجماليهم 0.50 وهو ما يختلف عن الاجمالي الحقيقي السابق بالتوفيق
    2 points
  6. الحاجة فوزية بتسلم عليكووو نفر ناااافر وان خلص الفول_ازية انا مش مسئول وبتقولوكي الله يقويكو ، ويخلي هذا الصرح العربي اللي اسمة اوفيسنا يكون من اقوي المنتديات في مجال المعلومات والخبرات وكفاية انه مجمعنا مع بعض مع اننا مشوفناش بعض رببنا يجمعنا علي خير في الجنه ان شاء الله بالعمل الصالح مع الاعتذار للحاجة فوزية
    2 points
  7. Sub IN_SH() Dim INSH As Worksheet On Error Resume Next For Each INSH In Worksheets If INSH.ProtectScenarios = False Then INSH.Protect "123" End If Next INSH Set INSH = Nothing End Sub Sub UN_SH() Dim UNSH As Worksheet On Error Resume Next For Each UNSH In Worksheets If UNSH.ProtectScenarios = True Then UNSH.Unprotect "123" End If Next UNSH Set UNSH = Nothing End Sub بعد استخدام البرنامج الجميل من حضرتك يصبح هكذا شكراً لك وبارك الله بك وجزاك كل خير
    2 points
  8. جزاكم الله كل خير جعلكم الله عونا لاخوانكم ويسر بكم كل عسير ويسر لكم كل امر يهمكم ويشغلكم وجزاكم الله عنا خير الجزاء تقبلوا منى فائق الاحترام والتقدير
    2 points
  9. أخي الحبيب صلاح عارف إني غلبتك معايا ..باقي حاجة تافهة كدا بس حاول تتعود عليها عشان يكون الكود سهل لما نحب نقراه .. استخدم مفتاح التاب لضبط أسطر الكود أو ادخل على الموضوع التالي لمعرفة كيفية ضبط أسطر الكود في الشكل من هنا الموضوع
    2 points
  10. اللهم امين ياريت تبقى قفله جمعه ياحبيبي ربنا يرحمك من زحمة العقل والتفكير بعيد عنك (حلة محشي بالكنافة على مية مخلل بالمسقعة) جوا دماغك تقبل تحياتي ومحشياتي وطرشياتي
    2 points
  11. يا عربي .. العملية قافلة ليه هو النهاردة الجمعة ؟!! يسر الله أمورك ويسر عليك كل عسير .. وفك الله كربك وكرب جميع المسلمين تقبل وافر تقديري واحترامي
    2 points
  12. وعليكم السلام احد قواعد الاكسس التي يجب عليك ان تتبعها لبرنامج افضل ، هو إضافة حقل الترقيم التلقائي مفهرس ، فالبرنامج يحتاج اليه ليرتب وضعه في الفهرسة ويكون اسرع في العمل جعفر
    2 points
  13. اثراء للموضوع هذه المعادلة =MATCH($E$3,$A$3:$A$5,0) او هذه =COUNTA(INDIRECT("A"&MATCH($E$3,$A$3:$A$5,0)+2&":A3")) او هذه (يلزمها CTRL+SHIFT+ENTER) =MAX(IF($A$3:$A$5=$E$3,ROW($A$1:$A$3),"")) أو هذه =SUMPRODUCT(--($A$3:$A$5=$E$3),{1;2;3}) هذا بالاضافة الى دالة IF مع توابعها (IF كذا اعطني كذا ...)
    2 points
  14. بص موضوع الـ ByVal موضوع محتاج وقت ... خد الكود دا فيه شرح وفيه الفرق بين ByVal و ByRef 'a. Formal Parameter - a variable passed to a Sub or Function (e.g. i, iRow, and sData are formal parameters). 'b. ByRef (default) means the Sub or Function is allowed to modify the value of a formal parameter and pass the _ modified value back to the calling routine. 'c. ByVal means means the Sub or Function is allowed to modify the value of a formal parameter (in some languages _ this causes a compile error), but the value that the calling routine sees is the ORIGINAL value. '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Sub IncrementCounter(ByRef I As Long) I = I + 1 End Sub Sub OuputValueToColumnA(ByVal iRow As Long, ByVal sData As String) Cells(iRow, "A").Value = sData iRow = iRow + 1 'NOTE: Modification of a ByVal formal parameter is allowed inside the routine, but is poor programming practice Cells(iRow, "A").Value = sData End Sub Sub ImprovedOuputValueToColumnA(ByVal iInputRow As Long, ByVal sData As String) Dim iRow As Long iRow = iInputRow 'Make a local copy of the input value Cells(iRow, "A").Value = sData iRow = iRow + 1 'NOTE: Modification of a ByVal formal parameter is allowed inside the routine, but is poor programming practice Cells(iRow, "A").Value = sData End Sub Sub ByRefAndByVal() Dim iRow As Long Dim sMessage As String sMessage = "Hello World." iRow = 11 Debug.Print "iRow = " & iRow 'Output to Immediate Window (CTRL G in debugger) Call IncrementCounter(iRow) Debug.Print "iRow = " & iRow '12 expected iRow = 21 Debug.Print "iRow = " & iRow 'Output to Immediate Window (CTRL G in debugger) Call OuputValueToColumnA(iRow, sMessage) Debug.Print "iRow = " & iRow '21 expected Call ImprovedOuputValueToColumnA(iRow, sMessage) Debug.Print "iRow = " & iRow '21 expected End Sub تقبل تحياتي
    2 points
  15. هذا لازم تستخدم معادلة علشانه ، في الاستعلام مثلا: IIf([Selling] - Int([Selling])=0,Format([Selling],"#,###",Format([Selling],"#,###.##")) جعفر
    2 points
  16. تفضل اخي الملف جاهز مع الكود ( الكود لا ينفذ العمل الا اذا امتلأ اخر صف في الجدول ) WALID salim1.rar
    2 points
  17. السلام عليكم ورحمة الله وبركاته إخواني الكرام .. من فترة وأنا أريد طرح هذا الموضوع ، ولكني بسبب الزهايمر على ما يبدو فإني قد نسيته تماماً .. وذكرني به الأخ الحبيب والمعلم الكبير عادل حنفي فأحببت أن أشارككم هذا البرنامج الصغير في حجمه الكبير في فائدته البرنامج هو Smart Indenter VBA .. يقوم البرنامج بترتيب أسطر الكود بحيث يسهل قراءة الأكواد ..كنوع من التنظيم تنصيب البرنامج سهل للغاية ومش محتاج شرح ... بعد التنصيب ادخل على محرر الأكواد لديك وفي أي موديول مكتوب اعمل كليك يمين ستجد الأداة منصبة في الأوفيس لديك يمكنك اختيار ترتيب الإجراء الفرعي فقط أو الموديول بالكامل أو جميع الأكواد في المصنف مرة واحدة الأداة تعمل مع نظام 32 بت فقط أما 64 بت فلا تعمل للأسف أرجو أن يكون البرنامج مفيد للجميع حمل البرنامج من هنا
    2 points
  18. السلام عليكم ورحمة الله وبركاته الحمد لله والصلاة والسلام على رسول الله وعلى اله واصحابه اجمعين. ========================================================================================================================= اليكم ملف اكسيل حسابات عامه من قيود اليومية وحتى الميزانيه لشركات المقاولات -مع انى لم اعمل فى نشاط المقاولات -بشكل خاص وجميع الانشطة بشكل عام مع تعديل دليل الحسابات . وهذا الملف ربما سيكون الاخير لى فى 2014 نظرا لضغوط العمل . واطلب من الجميع الا ينسانى فى دعاؤه . باسوورد محرر الاكواد 12345 وايضا باسورد الحمايه للمعادلات . اصدار الاوفيس من 2007 وحتى اخر اصدار . ========================================================================================================================= ماعليك الا ادخال قيد اليومية فقط والضغط على زر الترحيل ========================================================================================================================= استخدمت فى البرنامج الاكواد والمعادلات والpivottable واشكال بيانيه فى التنسيقات الشرطيه وادمجت معادلات فى الاشكال البيانيه ========================================================================================================================= لاتنسونا بصالح دعاؤكم ملف المقاولات الاصدار الاول تجريبى.rar
    1 point
  19. السلام عليكم ورحمة الله وبركاته بعد تحياتي لكم جميعا ، اريد كود يوضع في الحالي للنموذج يقوم بتعطيل قائمة حوار بحث واستبدال عن الضغط على زر ctrl + f
    1 point
  20. بارك الله لك أخي صلاح كود ممتاز
    1 point
  21. مساء الخير هل هناك طريقة تجميع عن طريق الصفوف بدل من الاعمده حاول اعملها ما تضبط معي
    1 point
  22. تفضل اخى أكرم كود للحماية وفك الحماية عن جميع الاوراق Dim IN_SH As Worksheet On Error Resume Next For Each pro In Worksheets If pro.ProtectScenarios = False Then pro.Protect "123" End If Next pro End Sub Dim UN_SH As Worksheet On Error Resume Next For Each pro In Worksheets If pro.ProtectScenarios = TRUE Then pro.UNProtect "123" End If Next pro End Sub
    1 point
  23. السلام عليكم حياك الله - جزيت خيرا ممنون
    1 point
  24. بعد اذن اخى خالى حل اخر لاثراء الموضوع بالتوفيق 1تواتي.rar
    1 point
  25. اسف على الخطأ اعلمني اذا كان المرفق طلبك تقبل تحياتي واعتذاري استدعاء بيانات2.rar
    1 point
  26. اخى الفاضل انت لست فى حاجه الى التوجيه بان تضع مثالك وتقم بشرح ماتريد وكل شىء باذن الله سهل وبسيط بس وفر على اخوانك الوقت اتفضل جرب الكود ده لحبيبى الغالى ابوالبراء مع تعديل بسيط ليناسبك ان شاء الله يكون طلبك Option Explicit Function Area(Optional Length As Variant, Optional Width As Variant) If (Length) = (Width) Then Area = 0 Else Area = Length + Width End If End Function ضع المعادله بالشكل التالى فى C1 =area(A1;b1)
    1 point
  27. السلام عليكم أخي العزيز اتمنى المرفق يساعد بشيئ تحياتي استدعاء بيانات2.rar
    1 point
  28. اتفضل المعادلة مطبقة بالمرفق تواتي_2.rar
    1 point
  29. السلام عليكم اريد عند عمل الاستعمال و اظهار النتائج ان تكون ظاهرة بنفس ترتيب المدخل في الجدول و ليس بترتيب رقمي او ابجدي لبيانات الاستعمال علما انني لا استعمل اى رقم تعريفي او كودي و لكني اريد ظهور البيانات كما ادخلت بنفس ترتيب الحقول كما هى مدخلة في الاساس وشكرا
    1 point
  30. انت اعمل للاستعلام تقرير ويصير تتحكم في طريقة النتائج افضل لك
    1 point
  31. السطر دا مش إنت اللي بتكتبه .. إنت بتكتب ما بين السطرين ..إنت لما تختار الحدث في المصنف اللي اسمه SheetChange بيظهر السطر ده وقفلة الكود معنى Sh الإشارة لورقة عمل ..أي ورقة عمل داخل المصنف .. وتارجت اللي هو النطاق أرجو أن تكون الأمور واضحة تقبل تحياتي
    1 point
  32. أخي الكريم أحمد الكود يوضع في حدث المصنف وليس في حدث ورقة العمل .. وتتأثر اوراق العمل باالتغير بسبب الكود في الخلية B4 ودا أول سطر بنقول فيه لما يكون عنوان الخلية يساوي B4 يتم تنفيذ التالي اللي هو إن الخلية B4 في ورقة العمل الأولى والتانية والتالتة تساوي التغير اللي حصل في أي ورقة عمل في نفس العنوان أي في نفس الخلية أعتقد الكود واضح وبسيط
    1 point
  33. جزاك الله كل خير يا ابو اسيل مختفى فين كده اليومين دول مفتقدينك شاكلك بتشيت ياريس قصى مشتى هههههههههههههههه حبيبى يا ابواسيل ربنا يجازيكم كل خير ويبارك لكم فى اعمالكم واوقاتكم واهليكم ويحفظهم
    1 point
  34. السلام عليكم بعد اذن اساتذتى الكرام فعلى قد فهمت المطلوب .. استبدل المعادلة الموجودة بالخليه I10 بتلك المعادلة . ثم اسحب لاسفل =IF(OR(G10=0;G10="");0;MROUND($L$10*K10/$K$50/G10;5)*G10) برنامج توزيع مبلغ بنسب (Recovered)_3.rar
    1 point
  35. السلام عليكم اخي الكريم.. انت تستخدم حقل في الجدول من نوع (مرفق) لاضافة المرفقات ..وهذا خطأ كبير ويؤدي الي مشاكل كبيرة جدا سيجعل القاعدة تعطب.. وسوف يزداد حجمها بسرعة كبيرة.. الخ عليك الاحتفاظ بالمرفقات في فولدر بجوار القاعدة مثلا وتدرج الرابط في الحقل المخصص لذلك
    1 point
  36. تسلم ايدك انت ومجهودك داخل المنتدى حبيبي الغالي ابو البراء منكم نتعلم حبيبي وتفضلو نفس الفكرة بس على حجم الفونت وهنا الحجم "10" وتقدروا تنفذو الفكرة على اشياء كتير Sub Yasser2() Dim Rng As Range Application.ScreenUpdating = False For Each Rng In Range("a3:g31") If Rng.Font.Size = "10" Then Rng.ClearContents End If Next Rng Application.ScreenUpdating = True End Sub تقبل تحياتي مسح بيانات بمعلومية حجم الخط.rar
    1 point
  37. أخي الحبيب ياسر العربي بارك الله فيك وجزاكم الله خيراً على الموضوع المتميز ...والفكرة الجميلة تسلم الأيادي تقبل تحياتي
    1 point
  38. السلام عليكم استاذى / ابو البراء .. جزاك الله خيراً .. واستأذنك استاذى فى عرض فكرة اخرى بإستخدام المعادلات بإفتراض ان مرجع القائمه المنسدلة هى الخلايا A3:A5 وان خليه القائمه هى E3 يتم وضع المعادلة التاليه فى الخليه المراد بها الرقم =SUMPRODUCT(--(E3=A3:A5);ROW(A3:A5)-2) Book1ffff.rar
    1 point
  39. اخى الكريم ماذا تقصد من سؤالك ،، وماذا تعنى جملة (( لأننى لا أجد أى تغيير )) على ما اعتقد انكم طلبتم ترقيم تلقائى داخل الفورم ومرفق صورة توضح ذلك وقد اضفت كود داخل الفورم وهو Private Sub UserForm_Activate() Lr = Sheets("المبيعات").Cells(Rows.Count, 5).End(xlUp).Row Me.Code_Fatora = Application.WorksheetFunction.Max(Sheets("المبيعات").Range("B6:B" & Lr)) + 1 End Sub
    1 point
  40. أهلا بك عضوا جديدا في منتدانا وأتمنى أن تجد فيه بغيتك أهلا بك يا manbar labib تفضل جرب المرفق Book2.rar
    1 point
  41. اليكم اخى الكريم بالمرفقات المطلوب حسب فهمى وتقبل منى وافر الاحترام والتقدير ترقيم الفواتير1.rar
    1 point
  42. حياكم الله اخواني وشكرا على مشاركتكم jojo 2009 ولك بأكثر مما دعوت بإذنه تعالى الأخ محمد حياك الله انا عملت المثال على 2007 وحفظت منه نسخة بتنسيق 2002-2003 وهي في المرفق السابق وهذه نسخة بتنسيق 2007 اتمنى من الأعضاء الكرام ممن لديهم نسخ اعلى من 2003 و 2007 التجربة وافادتنا مشكورين. وفقنا الله واياكم جميعا ... MyProtect.rar
    1 point
  43. أخى الحبيب وأستاذى القدير // ياسر خليل بارك الله فيكم وجزاكم عنى خير الجزاء واليكم بالمرفقات نسخة ( 64 بت ) وفى انتظار ابداء رأيك وملاحظاتك الطيبة وتقبل منى وافر الإحترام والتقدير بريمج العيادة الطبية الإصدار الأول64 بت.rar
    1 point
  44. تفضل اخى الكريم الكود ماخوذ من اخى علاء ابوالعلا (الله يعطيه الصحة والعافية ، ورحم الله والديه دنيا وآخرة ان شاء الله ) منتديات الفريق العربى للبرمجة تفضل مرفقك تحديد عدد السجلات المعروضة.rar
    1 point
  45. السلام عليكم ورحمة الله وبركاته كيف حالكم إخواني الكرام في المنتدى الغالي؟ لقيت نفسي نفسي (نفسي الأولى غير التانية ..) نفسي الأولى يعني أنا - وأعوذ بالله من كلمة أنا - ، ونفسي التانية يعني حاجة أتمنى أعملها .. المهم لقيت نفسي أعمل حاجة مختلفة .. بشكل مختلف .. بأسلوب مختلف يكون فيه عنصر التشويق والإثارة والبساطة مجتمعين في نفس الوقت. كتير مننا أول ما يسمع كلمة البرمجة والأكواد يتخض وكأن الموضوع مستحيل ...أبدا كل الحكاية إننا بنبدأ غلط مش بناخد الخطوات الصحيحة لتعلم البرمجة. لو عايز تتعلم البرمجة ونفسك بجد تبدأ تتمكن فيها خليك معايا ، هنقضيها رغي شوية وهزار شويتين ، وجد مش كتير ... ايه رأيكم؟ نبدأ على بركة الله .. أول حاجة بعد ما تنصب الأوفيس وتفتح الإكسيل تلاقي اللي انت عايزه مش موجود طيب نظهره إزاي ؟؟ ببساطة فيه زر أوفيس فوق شمال هتضغط عليه وتضغط Excel Options هتلاقي نافذة فيها خيار اسمه Show Developer tab in the Ribbon يعني إظهار التبويب ، وهتلاقي جنبه مربع تحط فيه علامة صح مبروك الخطوة الأولى واحد هيقولي عندك اقف أول خطوة فشلت فيها ..هقوله ربنا ما يحرمنا من الفشل لأن الفشل أول طريق النجاح .. هقولك لو ملقتش اللي بحكي عليه يبقا اصدار الأوفيس مختلف أنا شغال على 2007 ، وحضرتك على 2010 أو 2013 (بالنسبة ل 2003 والله ما أنا معبره كفاية عليه لحد كدا) ... بالنسبة لـ 2010 و 2013 بيكون من قائمة File ثم Options ثم من القايمة الشمال فيه Customize Ribbon وفي الناحية اليمين هتلاقي قائمة بالتبويبات وجنب كل تبويب علامة صح اللي يعجبك علم عليه صح واللي ميعجبكش ارميه في الزبالة... المهم هتلاقي التبويب اللي هيفتح لنا الباب لعالم البرمجة .. دا كان المفتاح للدخول نخش لتاني حاجة المفتاح عشان يفتح معاك لازم تحط عليه شوية زيت ، يعني لازم تضبط إعدادات الماكرو عشان الأكواد تشتغل معاك تمام من التبويب الجديد انقر على Macor Security هيفتح معاك نافذة بتختار منها آخر خيار Enable all macros وبتعلم علامة صح على الخيار اللي جنبه مربع Trust access to VBA الحمد لله خلصنا من النقطة الأولى والتانية ... ننتقل لنقطة جديدة : هيظهر التبويب في الآخر .. جمد قلبك واشرب ديو وافتح الباب لمحرر الأكواد اضغط على Visual Basic من التبويب المذكور أو لو بتحب تتعامل مع الكيبورد اضغط Alt + F11 كدا الباب الحمد لله فتح .. لو أول مرة تدخل على محرر الأكواد متتخضش واحدة واحدة هبندا نتعلم كل اللي موجود .. المهم محدش يستعجلني عشان أنا مستعجل النافذة دي اسمها نافذة المشروع Project window يعني الإكسيل بيتعامل مع المصنف إنه مشروع .. والمشروع مكون من 3 شيتات اللي بنسميهم أوراق العمل Sheet1 و Sheet2 و Sheet3 بس في 2013 الحمد لله بيكون الوضع الافتراضي شيت واحد بس (أصلي بتخنق من حتة 3 شيتات ع الفاضي بحس إن الملف كبير ع الفاضي وكل اللي يلزمني للعمل بشكل مبدئي هو شيت ولما أحب أضيف جديد مش هيكون أمر صعب) المهم مع أوراك العمل بنلاقي الكائن المسمى بالمصنف WorkBook ودا اللي بيحوي التعابين كلها أقصد الأكواد .. طيب محدش سألني ايه المنطقة الرمادي دي ومالها ضلمة ليه كدا؟ أنا أقولك عشان إنت تنورها .. اضغط دبل كليك على Sheet1 مثلا في نافذة المشروع هتلاقيها نورت والحمد لله استعداد لبداية الاحتفال بس فيه نقطة الأكواد لو اتكتبت هنا هتأثر على الورقة دي بس ... في الحتة اللي نورت الصق الكود اللي جاي ده وأفضل تكتبه بايدك عشان أنا شايف ايدك بتترعش وخايف .. قلت لك جمد قلبك الموضوع بسيط نبدأ بكود كدا سهل ولذيذ Sub Hello_Officena() MsgBox "Hello Officena!" End Sub أول كلمة Sub يعني ابدأ صب اللي عندك .. لا غلط .. معناها إجراء فرعي Subroutine يعني بينفذ مهمة محددة. وفي آخر الكود End Sub عشان القفلة (لو فاكرين شعبان عبد الرحيم بيقول ايه في الآخر بس خلاص دي القفلة بتاعته) هنا بقا دي القفلة بتاعت الإجراء الفرعي.. طيب ايه Hello_Officena دا اسم الإجراء ودا له قواعد أول حاجة مينفعش يبدأ برقم 77Hello_Officena ولا ينفع يكون فيه مسافة زي كدا Hello Officena بس ممكن لو حبينا بدل المسافة بحط Underscore اللي هي بتيجي بـ Shift + العلامة اللي على يمين الصفر اللي في الأرقام اللي فوق مش الأرقام اللي ف لوحة الأرقام .. وبردو فيه حاجات محرمة في اسم الإجراء زي علامة # أو $ أو % أو & أو % أو النقطة أو الفاصلة أو أو .. بقولكم ايه كفاية كلام عن اسم الإجراء .. لو كان فيه حاجة غلط في الاسم هيطلع لك رسالة خطأ تعرف إن فيه حاجة مش مظبوطة!! طيب السطر اللي في النص دا هو دا الكود .. الإجراء أو المهمة المراد تنفيذها .. بتبدأ بكلمة MsgBox ودي اختصار للكلمة Message Box أي صندوق الاسم ..... والله انا سرحت بس مش همسح اللي بكتبه خلي الكلام يكون تلقائي .. ودي بنكتب وراها الرسالة اللي عايزين نظهرها .. وطبعا فيه مسافة بعد الكلمة والكلام اللي هو الرسالة دا نص فنحطه بين أقواس تنصيص " " .. واحد برق لي عينه بيقولي بتتعمل إزاي دي قول لأقتلك .. هقوله حاضر يا باشا هقولك دي بتيجي إزاي .. اضغط على Shift وبعدين حرف الطاء بس خلاص .. طبعا أقواس التنصيص في أول النص وفي آخره مهو لازم القفلة. نجرب نشغل الكود إزاي .. فيه أكتر من طريقة يا إما تضغط على مثلث لونه أخضر فوق في شريط الأدوات الموجود في محرر الأكواد .. مش عاجبك شكل المثلث الأخضر خلاص روح لقائمة Run واضغط أول أمر .. لو انت تلميذ ذكي هتعرف الطريقة التالتة من التانية .. هسيبكم تقولوها إنتو ..مش عارفين !! طيب هقول أنا وخلاص اضغط على F5 من لوحة المفاتيح بس بشرط يكون مؤشر الماوس واقف في الكود.. لما نشغل الكود دا اللي هيظهر لي وبكدا أكون وصلتكم وفتحت لكم الباب .. لو عايزين نكمل قولوا كمل مش عايزين .. يبقا كفاية لحد كدا ويا كود ما يقربش منك حد .. ونعمل بالمثل الفلاحي اللي بيقول : ابعد عن الكود وادعي عليه! والسلام عليكم سبحانك اللهم وبحمدك .. نشهد أن لا إله إلا أنت ..نستغفرك ونتوب إليك كان معكم على الهواء مباشرة أخوكم أبو البراء من ملعب أوفيسنا .. إلى اللقاء مع مباراة جديدة وأهداف جديدة وشيقة دمتم بود ====================================== ====================================== السلام عليكم نرجوا وضع ردود الشكر والاعجاب على الرابط ادناه هنا ====================================== ======================================
    1 point
  46. الحلقة السابعة *********** السلام عليكم ورحمة الله وبركاته عنوان حلقة اليوم (هيا بنا نلعب ونبني !) النهاردة هنشتغل في البناء .. والبناء هنا هيكون بناء دالة Function .. ممكن يكون الدرس اللي زي كدا مرحلة متقدمة بس أنا تعمدت أشتغل فيها عشان نسبق ونتسابق للمراحل المتقدمة وإحنا في البدايات ، وعشان الناس اللي مستواها متقدم تشارك معانا ، ومتحسش بالملل من البدايات اللي هما شايفينها سخيفة. ** كلنا عارفين إن برنامج الإكسيل بيوفر لنا عدد كبير جدا من الدوال الجاهزة اللي نقدر نستفيد بيها بشكل كبير ، وكمان فيه إضافات Addins بتكون فيها دوال يمكن استخدامها .. لكن مع الوقت هتلاقي نفسك محتاج تعمل دالة (تبني دالة ) بحيث توفر لك الوقت والجهد .. النوع ده من الدوال اللي بتبنيه بنفسك بيطلق عليه (الدوال المعرفة UDF ودي اختصار لـ User Defined Function ) ، وممكن نقول عليها (دوال مخصوصة .. يعني بالبلدي كدا دوال تفصيل .. بنفصلها بحيث تناسب احتياجتنا) هناخد مثال بسيط عشان نفهم إزاي نتعامل مع بناء الدوال : أول شيء لازم يكون عندك المعطيات اللي هتشتغل بيها .. لو قلنا مثلا عايزين نعمل دالة نحسب بيها مساحة المستطيل ..يبقا الأول نعرف معادلة مساحة المستطيل Area = (الطول * العرض) (محدش يكون نظره ضعيف ويقرا العرض من غير نقطة ، لأحسن تودونا في داهية) يبقا المعطيات عندي : الطول والعرض ، هنقول الطول Length والعرض Width .. دي طبعا هتكون متغيرات لأننا مش عارفين قيمتهم كام ، ولأن قيمتهم مش ثابتة ؛ فنطلق عليهم (المتغيرات) ممكن نعملها على شكل معادلة ونقول : Area = Length * Width خطوات البناء : هنفتح محرر الأكواد وندرج موديول جديد ونستعد لعملية البناء ..ركزوا معايا يا أحباب Function Area() End Function أول شيء نكتب كلمة Function مش Sub يا صالح .. إحنا هنشتغل على دالة يبقا نكتب Function أما كلمة Sub فدي بتكون للإجراء الفرعي ..وبعدين نترك مسافة (بالمسطرة أكيد) ونكتب اسم للدالة .. هنسميها هنا اسم معبر Area لأننا عايزين نحسب المساحة وبعدين لما تضغط Enter هتلاقي محرر الأكواد عمل قوسين بعد اسم الدالة وقفل بالجملة End Function (ومننساش دايما القفلة مطلوبة ..لازم يكون تقفيلك مظبوط) ما بين السطرين اللي اتكتبوا دول هتبدأ تكتب الأكواد المطلوبة لتنفيذ العملية الحسابية لحساب مساحة المستطيل ... بس قبل ما نبدأ يا ريت نحط مؤشر الماوس بين القوسين (ايه ده هما القوسين دول طلعلهم لازمة .. أنا كنت مفكرهم زينة وشكل .. حاجة تحلي شكل المحرر زي غترة كدا !) .. القوسين دول بنستخدمهم لتحديد متغيرات الدالة ودي بنسميها arguments ، زي المتغيرات Variables بس دي بيتم الإعلان عنها داخل الأقواس دي ..( يعني هيا متغيرات بس ممكن نقول إنها متغيرات من فصيلة الذوات .. بمعنى إنها مهمة وليها برستيج ، فأول ما نعلن عنها نعلن عنها في الأول قبل ما نبدأ نشتغل عليها). هنكتب اسم المتغير ونوعه زي كدا Function Area(Length As Double, Width As Double) End Function وإحنا بنكتب المتغير وبعديه كلمة As أول ما ناخد مسافة ، هنلاقي فيه قايمة ظهرت لي عشان أختار منها (ممكن نطنشها ..نتجاهلها) أو ممكن نستفيد منها إننا نشوف الكلمة اللي عايزينها ولما نلاقيها نضغط عليها Double Click يعني دبل كليك (شفتوا الترجمة دي .. مش أي حد يترجم خلوا بالكم) ، لما نضغط دبل كليك عليها هنلاقيها اتكتبت ، يا إما نضغط Tab من لوحة المفاتيح .. أول متغير اسمه Length اللي هو خاص بالطول ، وحددنا نوعه بـ Double ودا زي ما عرفنا بيستخدم مع الأرقام العشرية الطويلة . تاني متغير اسمه Width وبردو حددناه نفس النوع .. ومننساش عشان الأمور تكون صحيحة بنضع فاصلة بين المتغيرين ..عشان عمنا المحرر ميحصلش عنده لبس !! بكدا نكون انتهينا الحمد لله .. عندك لسه مخلصناش ..دي كانت البداية والنهاية .. نيجي بقا للجد اللي هو هزار نكتب السطر اللي جاي ده ما بين البداية والنهاية Area = Length * Width يا ريت بعد إذنكم بلاش كسل - محدش ياخد السطر كوبي ويروح يعمل Paste - لا أنا عايز أتعبكم - ما أنا تعبان من الكتابة - اتعبوا شوية انتو كمان .. كله يكتب (اكتب يا حسين .. سجل كل كلمة بيقولها !!) .. الفايدة من الكتابة إننا أول ما نكتب كلمة Area وناخد مسافة ، نلاحظ مستطيل أصفر ظهر لي بيشرح لي متغيرات الدالة .. حلوة ولا ملهاش فايدة .. الفايدة إنها تعتبر زي وسيلة مساعدة ، عشان لما نحب نستخدم الدالة دي في كود تاني أو دالة تانية .. (معنى الكلام اللي بقوله إننا ممكن نبني دالة ونستخدمها في دالة تانية أو كود أو خلافه ..كنوع من التيسير) لو كتبنا أول حرف في كلمة length أو width بحرف small ، هتلاقي المحرر بعد ما تخلص بيحول الحروف الأولى دي لحروف Capital ، ودي سببها إن الكلمات دي متعرف عليها قبل كدا في أول الدالة. كدا تمام تم بناء الدالة (بالسهولة دي ! أيوا بالسهولة دي .. الفكرة مش معقدة .. كلنا اللي إحنا عايزينه مساحة المستطيل والمساحة = الطول * العرض (بس خلاص على رأي شعبولة) نيجي بقا نشوف نتيجة الكلام اللي إحنا عملناه في ورقة العمل .. واحد يقول هنضغط Run (هقوله لا دا مش إجراء فرعي .. دي دالة ، ودلوقتي طالما كتبتها عندك في ملفك أصبح زيها زي أي دالة ، يعني زيها زي الدوال الموجودة في الإكسيل ..وببساطة شديدة تقدر تستعملها ..) تطبيق على الدالة : قم بوضع القيمة 9 في الخلية A1 والقيمة 6.5 في الخلية B1 ، وبعدين في الخلية C1 قم بعمل معادلة للدالة اللي إنت بنيتها: =area(A1,B1) نخلي بالنا ..لما نستخدم الدالة بنستخدمها بنفس الشكل اللي بنيناها بيه ، يعني المتغير Length بييجي بعديه فاصلة ثم المتغير Width ..نشوف الناتج هنلاقية 58.5 .. وبكدا عرفنا مساحة المستطيل بدلالة الطول والعرض .. نجرب نمسح الخليةB1 ونشوف الناتج ، هنلاقي الناتج صفر ، ودا طبيعي لأن أي رقم * فراغ = صفر بس أنا عايز أحط شروط مختلفة ، أنا عايز الناتج ميكونش صفر .. لما يكون العرض مش موجود يضرب الطول في نفسه ..(ايه الكلام الصعب ده ) نرجع تاني للدالة ونبدأ نشوف ايه اللي ممكن نعمله ..؟ في الحالة دي طالما إن إنت عايز تخلي العرض اختياري وليس إجباري ، يبقا هتحدد الكلام ده للمحرر ، وتقوله Optional (اختياري) Function Area(Length As Double, Optional Width As Variant) Area = Length * Width End Function هنا غيرنا نوع المتغير إلى Variant، تحسبا إنك ممكن تترك الخلية اللي فيها العرض فارغة .. واحد هيقول : خلااص ، هرد أقوله : لسه ! طالما إننا خلينا العرض اختياري ، يبقا لازم نحط شرط ، ونشوف الشرط إذا تحقق يعمل ايه ، ولو الشرط متحققش يعمل ايه ..!! نرجع لمرحلة الإعدادي لما كنا بناخد قاعدة IF بمعنى إذا أو لو (وعرفنا أيامها إن لو حرف شعلقة في الجو) .. جملة IF في البرمجة : بييجي وراها شرط ، ولو الشرط اتحقق ايه اللي يحصل ، ولو متحققش ايه اللي يحصل . الشرط اللي هنحطه .. في حالة عدم وجود العرض يعمل ايه ؟ يضرب الطول في نفسه (الطول * الطول) ، طيب لو كان موجود العرض ، يبقا يضرب الطول * العرض Function Area(Length As Double, Optional Width As Variant) If IsMissing(Width) Then Area = Length * Length Else Area = Length * Width End If End Function ما هذا ؟؟ هذا ماذا ؟ هذا هو شكل الدالة بلغة البرمجة ، زي ما فهمناها نترجمها .. بعد كلمة If بييجي الشرط ، والشرط نخلي بالنا يا إما True يا إما False .. لو True ينفذ السطر اللي بعد كلمة Then مباشرة ، لو False ينفذ السطر اللي بعد سطر Else وجملة If الشكل العام ليها زي كدا If الشرط Then الكود في حالة تحقق الشرط Else الكود في حالة عدم تحقق الشرط End If محدش ياخد الكود ده في محرر الأكواد (دا للتوضيح .. واحد مش معبرني وبردو بياخد الشكل ده كوبي ورايح على محرر الأكود ..سيبوه يتصدم !!) أعتقد الصورة كدا بقت واضحة .. استعملنا في الشرط كلمة IsMissing ، الترجمة الحرفية ليها هل مفقود ؟ هل مفقود العرض ؟ -- يعني هل المتغير المسمى العرض مفقود ؟ لو كان مفقود هيتم حساب المساحة بضرب الطول * الطول ، ولو كان موجود يطنش الجزء الأول وينفذ الجزء التاني ، ويضرب الطول * العرض نرجع لورقة العمل ونعدل المعادلة ونخليها : =area(A1) كدا مفيش المتغير الخاص بالعرض ، فتقوم الدالة تضرب الطول * الطول ، ويطلع الناتج 81 لو فضلت المعادلة زي ما كانت في الأول هيكون الناتج صفر .. طيب دا هيكون واجب : عايزين نضيف شرط وهنستخدم فيه معامل الشرط OR ..بحيث لو كان العرض = 0 يضرب الطول * الطول ... سامع واحد من اللي بيقروا بيدعي عليا ، وبيقول حرام عليك طلعت عنينا عشان نعرف مساحة المستطيل ، دا أنا أرحم لي إن أحسبها بايدي وأريح بالي .. معلش استحملوني ! دا كان مجرد مثال عشان نفهم إزاي نقدر نبني دالة .. واجب تاني غير الأولاني (مش هرحمكم!) : قم ببناء دالة بسيطة ، بحيث لو قيمة معينة أكبر من أو يساوي 100 يكتب ممتاز ، لو أقل من 100 يكتب جيد وإلى لقاء مع حلقة جديدة من حلقات افتح الباب واجري ورايا كان معكم البنا أبو البراء من شركة مؤسسة أوفيسنا لأعمال البناء .. إلى أن ألقاكم بخير .. دمتم في حفظ الله
    1 point
  47. الحلقة الثانية ونبدأ حلقة جديدة من حلقات مسلسل افتح الباب يا عبد التواب .. اتعلمنا المرة اللي فاتت إزاي ندخل على محرر الأكواد وإزاي نضيف كود واتعرفنا على نافذة المشروع .. دلوقتي جه الوقت اللي لازم تعرف فيه الهيكلة العامة للتعامل مع الأكواد .. يعني ايه ؟ هضرب مثال ليتضح المقال : أنا ساكن في عمارة كبيرة (العمارة زي تطبيق الإكسيل Application) دي العمارة بتاعتنا وساكن في شقة فيها (الشقة دي هي WorkBook المصنف يعني .. والشقة عندي فيها 3 أوض (أوضة 1 - أوضة 2 - أوضة 3 ) دي زي أوراق العمل اللي عندنا Sheet1 و Sheet2 و Sheet3 جوا كل أوضة فيه مجموعة أشياء أو بنسميها كائنات Objects بس حاجات صغيرة.. مثلا فيه تلاجة .. والتلاجة طبعا واخدة حيز من الفراغ بنسميه نطاق Range يعني النطاق ده جوا الأوضة اللي جوا الشقة اللي في العمارة يبقا ممكن نبرمج التلاجة : أيوا صحيح !! هنحدد مكانها .. عمارة.شقة.أوضة(1).تلاجة.فتح بالإكسيل تكون بالشكل ده : Application.ThisWorkbook.Sheets(1).Range("A1").Select بكدا نكون عرفنا هيكلة الكائنات الموجودة عندنا Objects .. في السطر اللي فات بدأنا بالعمارة أقصد التطبيق متبوعاً بنقطة Period ثم حددنا الشقة أقصد المصنف Workbook وهنا أشرنا للمصنف الحالي ThisWorkbook، وبعدين حددنا الأوضة اللي هي الشيت Sheets (1) ثم أخيرا التلاجة أقصد النطاق المراد العمل عليه وهو هنا الخلية A1 بهذا الشكل Range("A1) . >>> وأخيرا .. بعدما وصلنا للتلاجة هنعمل ايه ؟ أكيد هنفتحها عشان نشوف أي حاجة نشربها بعد الكلام الكتير ده الواحد ريقه نشف اللي يبل ريقكم .. أيوا نفتح دا فعل والفعل في اللغة العربية نعرفه إزاي .. لما نحط قبليه كلمة (أن) يعني لو قلنا (أن يفتح) كدا فيه معنى واضح .. أما لو قلنا كلمة حجم وحطينا قبليها (أن حجم) دي ملهاش معنى ، فبالتالي كلمة يفتح فعل أما كلمة حجم فدي اسم أو صفة (كدا معلمي اللغة العربية هيبلغوا عني إني بدي دروس في العربي) !! يرجع مرجوعنا لموضوعنا إحنا ليه شرحنا الفعل لأن الفعل في البرمجة بيساوي كلمة Method يعني لما نشوف كلمة Method دي نربطها بحدث الفعل تلاجة.فتح يعني لو جربنا السطر اللي فات ووقفنا في خلية بعيدة شوية ونفذنا الكود هيحدد الخلية A1 .. مبروك عليكم السطر الأول من الأكواد الفعل هنا أو الـ Method اسمه Select وترجمتها حدد .. أي أننا قمنا بالإشارة لكل الكائنات وصولا إلى الخلية A1 ثم نأمر الكود بتحديد النطاق. ناخد مثال مهم أوي عشان نفهم الـ Method بشكل أكبر Application.Quit هنا لما اكتب الكائن Application وبعدين أكتب النقطة هلاحظ حاجة في غاية الأهمية .. ايه هيا؟ محرر الأكواد بيقدم مساعدة لينا (ودي عشان الجماعة اللي بيقولوا المشكلة في اللغة .. خلوا بالكم) بيظهر لنا قايمة شبه القايمة المنسدلة بس مش منسدلة فيها كلمات كتيرة .. وهنلاقي شكلين : الشكل الأول عمنا بيل جيتس بيشاور بصبعه على ورقة والشكل التاني علامة شبه الطوبة الخضرا .. الشكل الأول بنسمية الخاصية Property وهنشرحها بالتفصيل كمان شوية ، والشكل التاني الطوبة الخضرا ربنا يجعل حياتكم خضرا ومزهزهة هي دي الـ Method أو الفعل طيب هعرف إزاي إذا كانت كلمة Quit دي Method ولا Proerty ببساطة بص على شكلها هتلاقي علامة الطوبة الخضرا اللي قلنا عليها يعني كلمة Quit دي Method وطبعا الحتة اللي فاتت للجماعة اللي مش بيعرفوا إنجليزي زي حالاتي ، أما بالنسبة للي بيعرفوا إنجليزي فيبصوا لكلمة Quit هيلاقوا معناها اخرج ودا فعل يعني Method> يبقا خلاصة الكلام السطر اللي فات بيعطي أمر للخروج من التطبيق. نقطة تانية في غاية الأهمية لما نلاقي نفسنا مش عارفين حروف الكلمة اللي بنكتبها .. بعد النقطة ولما تظهر القايمة بكتب أول حرف أو حرفين في الكلمة اللي أنا عايزها ، وبعدينباستخدام الأسهم فوق وتحت أقف على الكلمة اللي عليها العين والنن واضغط TAB من لوحة المفاتيح اللي تحت حرف الذال يا رجالة (أنا عارف إن فيه ناس هتدور دلوقتي على حرف الذال ومش هتلاقيه . بصوا في لوحة المفاتيح أيوا بصوا .. فوق شمال فوق شمال فوق شمال تحت زر Esc هتلاقي حرف الذال ، وتحت الذال هتلاقي Tab عليها سهمين سهم متجه لليسار وآخر لليمين .. لو ملقتش السهمين قوم حالا رجع لوحة المفاتيح للراجل اللي إنت اشتريت منه دا نصب عليك) المهم لما نضغط Tab هنلاقي الكلمة اتكتبت لوحدها .. يا سلام ونعم الكلام ونعم المساعدة شكرا يا بيل !! ممكن أريح ايدي شوية عشان والله ايدي تعبت !!! ---------------------------------------------- طيب دي الـ Method فيه حاجة تانية اسمها Property ودي ترجمتها خاصية (وتشمل زي ما قلنا الاسم أو الصفة) تلاجة.حجم حجم دي هي خاصية التلاجة Property فلو حبينا نضع قيمة لحجم التلاجة تلاجة.حجم = 10 قدم نلاحظ إن الخاصية ليها قيمة وعشان نضع قيمة ليها بنحط علامة يساوي متبوعة بقيمتها ناخد مثال على الخاصية Property عشان عارف إنتو تهتو مني ... ركزوا يا شباب! Application.Caption= "Officena" طبعا إحنا عارفين شريط العنوان بيكون فيه اسم الملف أو المصنف متبوعا بشرطة - وبعدين اسم التطبيق Excel طيب لو حبينا نخليه باسم منتدانا الحبيب يبقا ننفذ السطر اللي فوق الكلمة اللي جات ورا Application اللي هي كلمة Captionدي خاصية من خواص التطبيق مش فعل يا مستر حمدي .. وطالما إنها خاصية فبنحدد ليها قيمة بعلامة يساوي (واحد هيعمل فيها مركز طيب إحنا نسينا علامة يساوي مع Quit أقولك الفعل مش بيتحدد له قيمة ، القيمة بتكون مع الخاصية أو الاسم أما الفعل له حاجات تانية اسمها بارامترات .. متخرجنا برا الموضوع) المهم بنحدد قيمة للخاصية وليكن مثلا كلمة Officena وطبعا دي نص ، وعرفنا من المرة اللي فاتت إن النصوص توضع بين أقواص تنصيص " " .. اللي مش عارف يرجع يراجع من الأول أنا مش بحب أكرر المعلومة أكتر من 100 مرة .. لو نفذنا بقا السطر اللي فات هنلاقي شريط العنوان اتغير (يا حلااااااااوة) واحد هيقولي طيب إزاي نكتب الأسطر اللي إنت نازل دش فيها أقولك فيه قايمة اسمها Insert اختار منها Module أو فيه علامة في شريط الأدوات جنب علامة الإكسيل على يمينها علطول اختار منها Module ,وضع فيها الأسطر المراد تنفيذها يرجى مراعاة حاجتين الأسطر مبتكونش عريانة كدا لازم نغطيها بلحاف وبطانية يعني اللحاف Sub وبعدين اسم الإجراء ، والبطانية End Sub ونحاول عشان نقدر نتعلم صح نبص كويس قبل تنفيذ الكود وبعده يعني في المثال الأخير بص لشريط العنوان هتلاقي Excel مشرف في العنوان ، وبعد تنفيذ الكود هتلاقي Officena هي اللي نورت ... وإلى لقاء في حلقة جديدة من حلقات افتح الباب أسأل المولى عزوجل أن ينفع بهذا الرغي جموع المسلمين وأن يكون شاهدا لي لا علي ..
    1 point
  48. ------------------------------------------------ جزاك الله خيرا اخى الكريم rudwan -------------------------------------------------
    1 point
×
×
  • اضف...

Important Information