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

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

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

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

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


    • نقاط

      12

    • Posts

      13165


  2. ibn_egypt

    ibn_egypt

    الخبراء


    • نقاط

      10

    • Posts

      764


  3. الصـقر

    الصـقر

    الخبراء


    • نقاط

      7

    • Posts

      1836


  4. ابو تراب

    ابو تراب

    الخبراء


    • نقاط

      5

    • Posts

      393


Popular Content

Showing content with the highest reputation on 01/19/15 in مشاركات

  1. بسم الله الرحمن الرحيم مطلوب من احبابنا في الله ان يدعو الله ان يعيد للمنتدى العظيم بأهله العالم العلامه والبحر الفهامة الاخ عبد الله باقشير سالما غانما يارب العالمين ولاننس السؤال عن المحترم الاستاذ الكبير عبد الله المجرب وأن يعيده الله سالما غانما للمنتدى واهل المنتدى وحتى لاأنسى احد من المحترمين اقول كل من غاب عن المنتدى وكانت له بصمة في تعليم الاخوة وأن يطمئننا الله عليهم آمين
    4 points
  2. بسم الله الرحمن الرحيم تحت شعار كنت قد رفعته سابقا "أتمنى وجود جيل من المبرمجين العرب قادر على الابتكار والمنافسة" أبدأ معكم إخوتي وأحبابي نظرا لما وجدته في الإخوة والأساتذة المهتمين (مثلي) ببرمجة وتصميم المواقع وبرمجة الأكسس والفيجوال بيسك من الاهتمام بالأداة التي تقوم بتحويل قواعد البيانات أكسس إلى ملف sql يمكن استيراده من داخل phpmyadmin ويتم التعامل معه على أنه قاعدة بيانات mysql ونظرا لما لاحظته من الرغبة في عمل البرنامج كمحول لقواعد بيانات mysql المتمثلة في ملف sql وتحويله إلى قاعدة بيانات أكسس توكلت على الله واستعنت به على قضاء حاجتي وحوائج إخواني وأخواتي واليوم أعرض لكم برنامج محول الماس لقواعد بيانات أكسس و ماي إس كيو إل (الإصدار الأول) حيث يحول البرنامج قواعد بيانات أكسس إلى mysql بمجرد الضغط على الزر واختيار قاعدة البيانات المطلوب تحويلها ويقوم أيضا بتحويل ملف sql إلى قاعدة بيانات أكسس وبها الجداول والسجلات الموجودة في ملف sql وبانتظار ملاحظاتكم واقتراحاتكم لتطوير هذه الأداة حجمها 208 كيلو بايت التي تقوم بعمل برنامج DBConvert for Access & MySQL والذي ثمنه 79 دولار وحجمه 17.5 ميجا بايت تقريبا وهذه صفحته وفقنا الله وإياكم إلى كل ما يحبه ويرضاه أخوكم أبو عبد الله محمد صالح mas-access&mysql-converter.rar
    2 points
  3. تنبية استخدام الدالة INFO لن يجدي اذا تم تغيير المسار الافتراضي لحفظ الملفات Default File Location مثلا : اسم المستخدم AbuTurab فالمسار الافتراضي هو C:\Users\AbuTurab\Documents اما في حالة تغييره الى مثلا: C:\work\Excel فلن ينجح اعتقد الخيار الاسلم هو عبر ال VBA
    2 points
  4. حل آخر ... اذهب للتبويب Formulas ثم Name Manager ثم اضغط New واكتب في حقل الـ Name اكتب الاسم User وفي حقل الـ Refers To اكتب المعادلة التالية: =GET.WORKSPACE(26) ثم أوك اذهب لأي خلية واكتب بها =User
    2 points
  5. لا تعليق !!!!!!!!!!!!!!!!!!!!!!!!!!!!! يا فندم المنتدى لم ولن يسقط تعرف ليه لان كل الاعضاء فى المنتدى يجمعهم الحب فى الله مش حب الذات او حب المصلحه الشخصية كل واحد بيقدم ما فى وسعه وعلى قد علمه فاستاذنا الكبير عبدالله باقشير هو مدير منتدى الاكسيل والمراقب العام له ومازال فمن اين تقوم بمدحه وفى نفس اللحظة تقول ان المنتدى سقط وهو ماازل تحت قيادته ؟؟؟؟؟ العلامه عبدالله باقشير ترك لنا اعمال رائعه واكود فى منتهى الروعه وهى كنوز موجوده بالمنتدى بين ايدينا بس العيب فينا احنا اللى مش عايزين نتعلم احنا اللى مش عايزين نستفيد بنكتفى ناخد طلبنا ونمشى . احنا اللى مكسلين نبحث واحنا اللى مكسلين نطبق يا اخى اقسم بالله بيتم طرح اسئله جديده كل يوم و99% منها مكرر ومجاب عليها قبل سنوات بالمنتدى وبعدين الاستاذ عبدالله لو موجود هيكون عنده وقت يرد على استفسارات واسئله اكتر من 110000 عضو بالطبع لا لكن فى تلامذه بتتعلم منه وبتساعد الاخوة الجدد المبتدئين اتمنى ان تكون واحد منهم اخى الكريم رفقا باخوانك أبدء بنفسك اولا اتعلم وجاوب على كل الاسئله اللى بيتم طرحها ايد لوحدها متسقفش أوفيسنا باقية للابد أوفيسنا باقية للابد أوفيسنا باقية للابد العلم لن يمت كل الشكر للاستاذ محمد طاهر صاحب هذا المنتدى والمنشأ له اللهم انى اسالك ان تجعل هذا المنتدى فى ميزان حسناته وتجزيه عنا خير الجزاء وكل الشكر ايضا للعلامه الكبير عبدالله باقشير وكل الاساتذه الموجودين بارك الله فيهم وجزاهم عنا خير الجزاء تقبل تحياتى
    2 points
  6. يا أخت إيناس أنا لا من القمم ولا أي شيء من هذا القبيل أنا مجرد تلميد وكل يوم بحاول أتعلم شيء جديد بس يا ريت لو فعلا عايزة تتعلمي يبقا لازم تحاولي وتحاولي وتفشلي ومش مهم الفشل لأن الفشل بداية النجاح المهم أن تطبقي الخطوات ولو فيه حاجة صعبة ستجدين المساعدة إن شاء الله
    2 points
  7. أخي الحبيب بارك الله فيك على سؤالك عن أحبابنا فالكل يفتقدهم ، لا لمصلحة شخصية إنما لأننا أحببناهم في الله وأقترح أن يكون هناك تواصل بين الأعضاء للإطمئنان عليهم إذا غابوا عنا
    2 points
  8. السلام عليكم إخواني الكرام أقدم لكم اليوم ملف قمت بإعداده ، لنتعلم من خلاله كيفية عمل قائمة منسدلة يمكن البحث من خلالها ... الملف به كل التفاصيل أرجو أن ينال إعجابكم وأن ينفعكم به Searchable Drop Down List.rar
    1 point
  9. بكل احاسيس الغبطة والفرح اهنئكم وابارك لكم مرتبة الشرف تستاهل اكثر يابوعبدالله
    1 point
  10. تهنئة للأستاذ ramhan بالاحتراف الف مبروك وشكرا للاستاذ رضوان وللادارة الموقرة
    1 point
  11. اوريد عمل كود اللفورم لي جلب البيانات الفاتورة واشرح في المرفيق نموزج فاتورة+بحث3.zip
    1 point
  12. السلام عليكم ورحمه الله وبركاته اخي الكريم عذرا على التاخير بسبب ضيق الوقت شاهد الملف المرفق واخبرني عن رايك اقبل تحياتي واحترامي تاريخ الشيكات.rar
    1 point
  13. أخي الفاضل إليك الملف المرفق قم بالضغط على Alt + F8 ثم اختر الماكرو المسمى InsertTotal لاحظ أن المجموع العام غير موجود في نهاية الصفحة .. نفذ الكود ولاحظ المجموع العام وراجع النتيجة يرجى عند زيادة صفحات العمل ألا تكون الخلايا الخاصة بالمجموع الفرعي أو المجموع العام مدمجة .. قمت بإلغاء الدمج على الصفحات الموجودة في خلايا المجموع والمجموع العام فقط Book.rar
    1 point
  14. هذه محاولة للحصول على اسم مستخدم الويندوز =MID(INFO("DIRECTORY"),10,FIND("\",INFO("DIRECTORY"),10)-10) استاذ ياسر شكرا على مشاركتنا لل =GET.WORKSPACE .. اذا لم اكن مخطئا فهى تعطي اسم مستخدم الاكسل و ليس الويندوز
    1 point
  15. جرب التعديل التالي حيث رقم 7 يشير إلى إسم المستخدم حسب الحروف mokhtar وإن كان الإسم أكبر أو أقل قم بالتعديل على الرقم =MID(RIGHT(INFO("DIRECTORY");LEN(INFO("DIRECTORY"))-9);1;7)
    1 point
  16. اخى الفاضل تفضل الملف المرفق لعل به طلبك تحياتي التحكم في ادخال بيانات في خلية.rar
    1 point
  17. هنا مربط الفرس زى ما بيقولوا و ده اللى عايزين نوصلوا واللى بيأكد كلامى أن اليوزرفورم أصلا مربع أو مستطيل وتم التحايل باللون الأبيض الشفاف ولو لاحظت الكود التالى مديول 1 Public Function Rabie_Sk(uf As Object, colors As Variant, Optional Sk As Variant = True) hWnd = FWw(vbNullString, uf.Caption) SWLg hWnd, -16, &H80080080: SWLg hWnd, -20, &H80000: DrMBar hWnd Select Case Sk Case True SLWA hWnd, colors, &H2, &H1 Case False SLWA hWnd, colors, 50, &H2 End Select End Function هذه الدالة فيها حالتين عندما يكون اللون شفاف لا يتم الاستجابة للنقر أما اذا كان غير ذلك تتم الاستجابة للنقر وتنفيذ الاختفاء تحياتى لك
    1 point
  18. أخى الفاضل عبدالله بولنوار المرفق التالى هدية منى لك فورم دائرى هدية لأخى عبدالله بولنوار.rar
    1 point
  19. اها هنا اتحمل فرجت عليا من وسع بحلين :D الفكره اللى اشتغلت بيها ممتاززززه الهمتنى فى شغل تانى كنت عايز اعمله بس اعتقد ان داله ا-جمال صريحه على الشغل بتاعى دا مشكووور جدااا على الفكره اللى ضيفتهالى :) اسعدني انك استفدت من الفكرة .. بالطبع معادلة الاستاذ جمال مختصرة و انيقة و صحيحة على كلا و اثراء للموضوع هذا حل اخر بأستخدام IF الشرطية 777.zip
    1 point
  20. ان شاء الله سيكون لي نصيب من الخير سأرفق كود رائع لعمل اللجان والكود خاص بالعلامه عبد الله باقشير كشف مناداة بالكود.rar
    1 point
  21. جرب Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 12 Then Exit Sub If Target.Row <> 3 Then Exit Sub Application.ScreenUpdating = False m = [L3] n = Range("A11").Row o = m + n For i = n To 30 If Cells(i, 1).Row <= o - 1 Then Cells(i, 1).EntireRow.Hidden = False Else Cells(i, 1).EntireRow.Hidden = True End If Next Application.ScreenUpdating = True End Sub
    1 point
  22. السلام عليكم اخى الحبيب على المصرى . الف الف الف الف مليوووووون مبروك على هذه الترقيه المستحقه عن جداره وعن مجهود جبار تقوم به الشكر موصول لاستاذنا ابوخليل تقبل منى اجمل تحيه
    1 point
  23. اخى الكريم انا جربت الملف حاول سجل ارقام وشوف النتيجة هتلاقى هى المطلوبه
    1 point
  24. بعيدا عن المعادلات الشرطية أستخدم هذه الطريقة ستكون أفضل فى الخلية "C6" =MIN(100000,D5)*2% فى الخلية "C7 " =MIN(MAX(0,D5-100000),250000)*2.5% فى الخلية "C8" =MAX(D5-350000,0)*3% تقبلوا تحياتى معادلة تحقق شروط معينة.rar
    1 point
  25. بعد اذن استاذى سليم اخى الكريم جرب المرفق هل به طلبك تقبل تحياتى 111.zip
    1 point
  26. السلام عليكم ورحمة الله أخي الكريم ايهاب، تم تمديد الصفوف إلى 200 صف بمعادلاته (تحسبا لأن تكون البيانات المستدعاة تحتاج إلى ما يقارب 200 صف)... والذي فهمته من مطلوبك هو أنك تريد عرض عدد الصفوف في الجدول بما يوافق عدد البيانات الموجودة لكل اختيار لعنصر القائمة في الخلية D4، وفي هذه الحالة المعادلات لا تمكّن من عمل ذلك (إخفاء الصفوف) لذا تم الاستعانة بكود، وقد تم إنشاء كود يقوم بإخفاء كل الصفوف الفارغة في الصفوف من 7 إلى 206 في شيت "قصاقيص" حسب عدد البيانات الفعلية (وهذا العدد مبين في الخلية F4)... أرجو أن يكون هذا الحل أو أقرب إليه... أخوك بن علية الملف المرفق : Book1_5.rar
    1 point
  27. اخى الفاضل تفضل الملف المرفق لربما به طلبك تحياتي Book2.rar
    1 point
  28. وقد نسيت فليسامحني الله الاستاذ الكبير عماد الحسامي جزاه الله خيرا وبارك فيه ولاانسى الاستاذ محمدي عبد السميع صاحب هذا الموضوع جزاه الله خيرا وبارك فيه
    1 point
  29. السلام عليكم ورحمة الله وبركاته سلامى الى استاذى ومعلمى العلامة الكبير عبدالله باقشير الذى اكن له كل تقدير واحترام واعترف بفضله عليه وعلى الجميع ولاانسى ابدا باننى تعلمت على يديه الكثير ربنا يباركلنا فيه ويرجع لنا بالسلام ويكون دائما محفوظ برعاية الله سبحانه وتعالى ام استاذى وحبيبى عبدالله المجرب ( المايسترو ) فهو حبيب قلبى واستاذى والمايسترو بتاعى وكنت اشعر دائما بالمتعة مع اكواده ومعادلاته وسيمفونياته وياما امتعنى وامتع الجميع يارب تكون بخير ياحبيبى ونشوفك دائما فى مشاركات فى المنتدى دائما العلامة الكبير / عبدالله باقشير والاستاذ الكبير الفاضل / عبدالله المجرب ( المايسترو ) والله يااساتذه ياكبار نحن نحبكم فى الله فأنتم اصحاب فضل علينا لكم من كل الحب والتقدير والوفاء والدعاء لكم بالصحة والتوفيق اللهم امين
    1 point
  30. عندما تشرفت بدخولي المنتدى العظيم وجدت اناسا يملأ قلوبهم حب الخير فاردت ان اقدم عملا احس انه مفيد لاحبابي على قدى وهو كود لعمل ارقام الجلوس بطريقة جديده وهو منسوب لاستاذ فاضل ويمتاز بالتواضع اسمه الصقر جزاه الله خيرا كود رقم الجلوس.rar
    1 point
  31. اخى الفاضل أبو حنين هتزعل منك الأستاذ ياسر كده، الكود موجود بمكتبة الصرح .. مرفق الملف للتوضيح .. وتستطيع الاطلاع على آخر إصدار من مكتبة الأكواد من هنا المشروع الكبير (مكتبة الصرح .. زاخرة بالشرح) وهي عبارة عن تجميع لمكتبة الأكواد تحياتي UserName.rar
    1 point
  32. دائم فنان يا جموعى يا كبير حلول فنية رائعه تقبل تحياتى
    1 point
  33. اه لم أنتبه لذلك تعديل بسيط هو جعل زر التحكم دخول هو الإفتراضي مرفق واجهه كنترول للاستاذ الحسامي2.zip
    1 point
  34. روعه لا قمة الروعه اقول ايه ربنا يجزيكم خيرا ربنا يبارك في السائل والمجيب الاساتذه الكرام السائل الذي ظل يحاور لكي يصل بهذا المستوى الرائع للفنان الصقر الذي افاض بعلمه المفيد علينا ربنا يبارك له
    1 point
  35. الله اكبر الله اكبر ماشاء الله ربنا يجزيك خيرا استاذي المتواضع عندما افتح المغاره افصد الفيجوال واغير الباسوورد اللي هو 111 الى رقم تان وهو ال 1 واحفظ .... وتكون الصفحة محميه واحاول فتحها ثانيه بالرقم الجديد لايتم فتحها وانما تفتح بالرقم القدبم ال111 لماذا ؟
    1 point
  36. السلام عليكم أخي الحبيب / أبو آلاء هون عليك تذكر أن المنتدي للجميع للتعلم والتعليم - الهدف الأسمي والأخ عندما غير أو بدل ، هو أو غيره لايحتاج لإذن حيث أنك وضعت البرنامج لنفس الغرض وقد رأينا ردك علي الأخ الفاضل (عبد الفتاح كيرة) يسأل في المشاركة رقم 3 أعتقد في الموضوع الأصلي ترد عليه "استاذى الحبيب - البرنامج كله تحت امرك عدل فيه كيفما تشاء وارجوا منك عمل اللازم ليستفيد الجميع" هذه هي الروح المطلوبة ولكننا نعتب علي الأخ الذي حذف اسمك ووضع اسمه بدون داعي ولم ينوه حتي إلي مصمم البرنامج الأصلي فليست هذه أخلاقنا في المنتدي رجاء إخواني ألا ينزع الشيطان بينكما وليكن هدفنا كما كان دائما نشر العلم لوجه الله فقط
    1 point
  37. هل هناك قانون رياضي يحكم الأمر ؟؟ لأني لست خبيراً في القوانين الرياضية
    1 point
  38. وعليكم السلام ورحمة الله اطلع على هذا المرفق لعله يكون المطلوب وهو من أعمال أستاذنا الفاضل Maxxin BackupComp.rar
    1 point
  39. السلام عليكم ورحمة الله أخي الكريم، في الحقيقة لم أر أي تشابه بين الملفين سوى أنهما بنفس المضمون (نفس القضية والفكرة) ويخدمان نفس الهدف وربما التشابه تلمسه في بعض التسميات والعناوين... ولكن الاختلافات بينهما كثيرة : التنسيقات - الأكواد - وغيرها، ولا أعتقد أن في هذا خرق لحقوق الملكية... وإذا بحثت في المنتدى أو حتى في منتديات أخرى تجد أن الكثير والكثير قد تناول الفكرة نفسها وربما أخذوا بعض الأفكار من هنا وهناك... وفي المنتدى تجد المساعدة متبادلة بين الأعضاء ما دامت نيتنا ومبادئنا هي الصالح العام وتحسين معاملاتنا وأعمالنا كل حسب وظيفته ومهنته... هذا مجرد رأي قد يحتمل الخطأ... أخوك بن علية
    1 point
  40. اخى الفاضل بنفس الطريقة بالضبط يتم اخفاء او اظهار الصف مرة أخرى، لكن لا اعلم هناك خلل في الملف الذي قمت بارفاقه بمجرد تشغيله عندي يغلق الاكسل بأكمله فقمت بتصميم ملف آخر لتوضيح الفكرة لك تحياتي Hide&Unhide.rar
    1 point
  41. اليك هذا الحل عسى ان ينال الاعجاب على فكرة اذا لم يتحقق الشرط ماذا تريد ان تفعل المعادلة انا شخصياً وضعت لا شيء اذا اردت التغيير اكتب ذلك في المعادلة مكان "" النسبة.rar
    1 point
  42. اخى الفاضل أبو سليمان نصيحة أخ، ابتعد عن الشبهات وعن البورصة والفوركس وغيرها من طرق السراب التى لا تسمن ولا تغنى من جوع .. طرق استنزاف الاموال التى لو أقمت بها اى مشروع تجاري على الأرض لتضاعفت أموالك أضعاف مضاعفة لا اعلم ان كان لى الحق في قول هذا لك أم لا .. ولكن النصيحة حق للمسلم على أخيه المسلم .. تأخذ بها أم لا فهذا قرارك تحياتي
    1 point
  43. اخى الفاضل أبو آلاء وجهة نظرى ان الموضوع ليس به أى تعدي .. فحضرتك حينما طرحت موضوعك على العام وللجميع دون تنويه منك عن اى حق من حقوق الملكية الفكرية .. أصبح الملف ملك للجميع ولجميع الأعضاء الحق المطلق في تنزيله وتعديله بالزيادة أو الحذف بما يناسب عمل كل شخص والا لكنت احتفظت به على جهازك وحدك دون مشاركة الأعضاء فيه. هذه وجهة نظرى البحته في هذا الموضوع .. تحياتي
    1 point
  44. مشكور أخي أيمن على التحية تقبل تحياتي
    1 point
  45. 1 point
  46. الحلقة الثانية عشر *************** السلام عليكم ورحمة الله وبركاته ... إخواني الكرام ..ها أنا قد عدت إليكم بعد طول عياب (والعود أحمد .. مش ياسر ولا حسام) نبدأ حلقة جديدة معكم من حلقات افتح الباب ، وهات لي معاك كيلو كباب (عشان لسه العشا مجهزش) نكمل في هذه الحلقة بإذن الله مشوار الدوال الخاصة بالتعامل مع النصوص - * - كنا اتكلمنا عن الدالة LCase الخاصة بتحويل أحرف اللغة الإنجليزية إلى حروف صغيرة ، والدالة UCase الخاصة بتحويل أحرف اللغة الإنجليزية إلى حروف كبيرة .. كلنا يعرف إن كتابة الأحرف باللغة الإنجليزية ليها تعامل خاص ..بمعنى آخر لو بنكتب اسم شخص ، مش مقبول إن يكون كل الحروف كبيرة ولا كل الحروف صغيرة ، إنما بيكون الحرف الأول في كل اسم حرف كبير والحروف المتبقية حروف صغيرة زي كدا Yasser Khalil طيب هل فيه دالة تكفي لهذا الغرض ؟ نعم .. روح لورقة العمل الأول واكتب اسمي (اسمي الأول جرب عليه وبعدين جرب على اسمك .. شايف حسام مش معبرني وبيكتب اسمه هو الأول !!) اكتب في الخلية A1 مثلاً yasser khalil كل الحروف Small أي حروف صغيرة ، وفي الخلية المجاورة B1 اكتب المعادلة التالية : =PROPER(A1) الناتج إن الحرف الأول في اسم Yasser والحرف الأول في اسم Khalil أصبحا كلاهما Capital - والحمد لله - نرجع لمحرر الأكواد .. ما هي الدالة البديلة لهذه الدالة في ورقة العمل ؟ هصدمك وأقولك مفيش .. وبعدين أفوقك من الصدمة وأقولك متقلقش فيه طريقة ..وطريقة ممتازة لاستخدام معظم الدوال وليس كلها في محرر الأكواد .. Sub ProperFunction() Dim strName As String strName = Range("A1").Value Range("B1").Value = Application.WorksheetFunction.Proper(strName) End Sub قمنا بالإعلان عن متغير نصي ، وقيمته هي قيمة الخلية A1 ، وفي السطر التالت .. عايزين قيمة الخلية B1 تساوي قيمة النص الموجود في A1 بس بشكل مختلف ، باستخدام الدالة Proper ، فنضع علامة يساوي (ومننساش اللي على الطرف الأيسر مجهول دائماً .. واللي على يمين علامة يساوي هو القيمة المراد وضعها للمجهول) استخدمنا هنا كلمة Application للإشارة إلى تطبيق الإكسيل .. ممكن الناس اللي مش أد كدا في الإنجليزي أقولها على خدعة بسيطة .. الخدعة إنك متحفظش الكلمة لو صعبة عليك ، اكتب بس أول كام حرف منها وليكن Appl واضغط Ctrl + مسطرة هتلاقي المحرر المحترم كمل لك الكلمة ، أو هتظهر لك قايمة تختار منها الكلمة اللي إنت عايزها .. بعد كلمة Application تم استخدام الخاصية WorksheetFunction وهذه الخاصية كأننا بنقول للمحرر إننا هنستعين بدوال الإكسيل المدمجة ، نستعين بها هنا في محرر الأكواد ، وبعديها نقطة وبعد النقطة وقفة (يعني قوم اقف واقعد تاني ..عشان تستعيد نشاطك) ، بعد النقطة هنكتب الدالة المراد الاستعانة بها ، وهي هنا الدالة Proper اللي فهمناها من شوية.. والدالة ليها بارامتر واحد بيتم استخدامه عن طريق فتح قوس (Shift + 9) ، وبين الأقواس بنكتب النص ، ومننساش إن الدالة بتتعامل مع النصوص !! ومننساش بردو قفلة القوس () ونكتفي بهذ القدر (فيه ناس رفعت ايديها وهللت خلصت الحلقة خلصت الحلقة ..متفرحوش أوي كدا ، إحنا لسه يدوب في بداية الحلقة .. انتهينا بس من الدالة Proper وكيفية استخدامها في محرر الأكواد) .. ****************************************************************************** ننتقل لدالة أخرى لذيذة جداً ومفيدة جداً ، ألا وهو الدالة Trim ودي دالة بسيطة جداً ، وظيفتها إزالة الفراغات الزائدة (بس خلاص .. انتهى الشرح) نروح لورقة العمل أولاً ونطبق الدالة ، اكتب في الخلية A3 مثلاً اسمي ، اضرب بالمسطرة 3 مرات لا خليهم 4 مرات ، واكتب Yasser وبعدين بالمسطرة اضرب 4 مرات وبعدين اكتب Khalil واضرب المسطرة 4 مرات (كفاية ضرب المسطرة اشتكت) .. في الخلية المجاورة B3 اكتب المعادلة بالشكل التالي : =TRIM(A3) هنلاقي الدالة قامت بالواجب وحذفت كل المسافات الزائدة ..وتركت مسافة واحدة بين الكلمتين فقط.. ننتقل لمحرر الأكواد .. نفس الاستخدام تقريباً ونفس الشكل : Sub TrimFunction() Dim strName As String strName = Range("A3").Value Range("B3").Value = Trim(strName) End Sub ننفذ الكود ، نلاقي الناتج في الخلية B3 يصدم (لم تؤدي الدالة عملها كما أدته في ورقة العمل) ، الدالة حذفت المسافات الزائدة في بداية النص وفي نهايته ، أما المسافات الزائدة بين الكلمتين فلم يتم حذفهم (مش عارف دا عيب في محرر الأكواد ، ولا بيل جيتس متعمدها ..عموماً هبقا أسأله في النقطة دي لما يطلبني في الاجتماع القادم يوم 30 فبراير القادم ) نفهم من كدا إن الدالة Trim في محرر الأكواد مختلفة عن الدالة Trim في ورقة العمل ..طيب ما الحل ؟ أشيروا علي إخواني الكرام ، الحل أبسط مما تتخيلوا (اللي فهم الدالة السابقة هيفهم إزاي هنحلها هنا ..) Sub TrimFunction() Dim strName As String strName = Range("A3").Value Range("B3").Value = Application.WorksheetFunction.Trim(strName) End Sub تم حل المشكلة بحمد الله وعونه وتوفيقه .. ****************************************************************************** ننتقل لدالة جديدة ، ألا وهي الدالة Space (المسطرة) ..وظيفة الدالة دي ، إننا نريح المسطرة من كتر الضرب عليها ، حيث أن شكوتها قد وصلت للأمم المتحدة ، فقررت الأمم المتحدة النظر في شكوى المسطرة الضعيفة التي اشتكت من كثرة الضاربين عليها ، وتوصلت الأمم المتحدة لاتفاق مع بيل جيتس بإدراج دالة تحل محل المسطرة في محرر الأكواد (وأغلقت القضية) .. في الخلية A1 اكتب Yasser Khalil وروح للمحرر واكتب الكود التالي : Sub SpaceFunction() Dim strName As String strName = Range("A1").Value Range("B1").Value = Space(4) & strName & Space(4) Range("C1").Value = Len(Range("A1")) & ":" & Len(Range("B1")) End Sub لاحظ إننا استخدمنا الدالة وبين قوسين كتبنا 4 ، والرقم دا عدد المسافات ، واستخدمنا الدالة مرتين ، مرة قبل النص ومرة بعد النص ، وفي كل مرة 4 مرات بالمسطرة ، يعني مجموع المسافات = 8 ، يعني إحنا ريحنا المسطرة من إننا نضربها 8 مرات ، وفي الخلية C1 استخدمنا الدالة Len (واللي ميعرفهاش يترك الحلقة دي ويرجع للحلقة اللي فاتت ..مش ناقصة وجع قلب ، وكتر كلام ع الفاضي) ، عشان نحسب طول النص في الخلية A1 وطول النص في الخلية B1 ، هنلاقي الفرق بينهم 8 (انتهى الحديث عن قضية المسطرة التي تشتكي). *************************************************************************** ننتقل إلى دالة ذات أهمية كبيرة ..الدالة Replace والكل يعرفها جيداً ، وربما الكل يستخدمها كثيراً ، وهي دالة الاستبدال (أي استبدال نص مش عاجبك بنص يعجبك ويدخل دماغك) تقوم الدالة باستبدال النص القديم بآخر جديد ... ناخد مثال يا أستاذ جمال : نفترض إني ادلعت شوية وأنا بكتب اسمي وكتبته في الخلية A1 بهذا الشكل Y a s s e r (من حق التلميذ يدلع ..مش الكبير لأ !!) .. المهم أنا من النوع الكسول ، أنا تركت مسافة بين كل حرف وحرف ، يا ترى هتعب نفسي وأشيل كل مسافة بين كل حرف وحرف (طبعاً مش هيحصل !! ولو حصل يبقا أنا مفيش ورايا شغل وقاعد بلعب) المهم دلوقتي نخلي بالنا ونسأل ايه هو اللي مش عاجبنا (الإجابة المسافة بين كل حرف وحرف) ، طيب ونسأل سؤال تاني (ما هو لازم تمشي بمنطق السؤال والإجابة) نسأل ايه المطلوب ؟ (الإجابة إننا نحذف المسافة أو ممكن نقول الطلب بشكل تاني عشان نقدر نوصل للحل :: المطلوب إننا نستبدل المسافة " " بـ "" (ايه ده ؟ هي دي الإجابة ؟؟ أقولك أيون أيون هي دي الإجابة) .. نشوف المثال يا أستاذ عبد العال .. الأول قبل المثال نشوف البديل ليها في ورقة العمل ، ضع المعادلة التالية في الخلية B1 : =SUBSTITUTE(A1," ","") الدالة تقوم باستبدال النص القديم بالنص الجديد (زي الفل ..نفس الكلام مع الدالة Replace في محرر الأكواد) Sub ReplaceFunction() Dim strName As String strName = Range("A1").Value Range("B1").Value = Replace(strName, " ", "") End Sub البارامتر الأول للدالة عبارة عن النص المراد البحث فيه المراد البحث داخله .. والبارامتر الثاني النص المراد استبداله أي النص القديم .. والبارامتر الثالث النص الجديد (اللي عاجبنا وبيحب أكل الجبنه) .. كدا انتهى الحديث عن الدالة Replace ..! *************************************************************************** الآن مع دالتين جديدتان (أعتذر قديمتان) الدالة Right والدالة Left .. كلنا نعرف استخدام هاتين الدالتين في ورقة العمل .. ناخد مثال في ورقة العمل أولاً لنفهم عمل الدالتين .. في الخلية A1 نكتب الإيميل yakh777@yahoo.com وفي الخلية B1 نكتب المعادلة بالشكل التالي : =RIGHT(A1,9) الناتج هو yahoo.com وهو العدد الذي حددناه في المعادلة .. وتم استخراج النص من ناحية اليمين (اللهم اجعلنا من أهل اليمين .. أنا والأعضاء في المنتدى أجمعين) في الخلية C1 اكتب المعادلة التالية : =LEFT(A1,7) فيكون الناتج النص من ناحية اليسار ، وهو yakh777 ,وحددنا عدد الأحرف 7 أحرف .. لو قمنا بتغيير الإيميل بأي إيميل آخر .. أكيد النتائج ستختلف .. إذاً لابد من حل لتكون المعادلة أكثر مرونة (الحل هو الاعتماد - يا أستاذ عماد - هنا على علامة @ ) .. دعونا نفكر بصوت عالي ..نفكر الأول ونشوف هنعمل ايه ؟؟؟ نبدأ بالدالة Right .. الأول في خلية نكتب المعادلة: =LEN(A1) هنلاقي عدد حروف النص 17 ... تمام !! قول تمام يا أستاذ هشام - ونكتب المعادلة التالية في خلية أخرى (أي خلية) =FIND("@",A1) ودي بنحدد من خلالها موقع علامة @ داخل النص .. هنلاقي الناتج 8 (أي أن موقع هذه العلامة رقم 8 . لو عدينا من الشمال هنلاقي رقمها 8) طيب نجرب نطرح طول النص بالكامل - موقع علامة @ هنلاقي الناتج 9 (تسعى في الخير يا كبير) هو دا المطلوب ... واحد رفع ايده وقالي : مش فاااااهم (هقوله مش هكرر تاني .. إنت خدها قاعدة لو مش هتقدر تفهمها .. لو حبيت تستخرج النص من جهة اليمين ، يبقى تحفظ الشكل ده : طول النص بالكامل - موقع العلامة @) يبقا ممكن نكتب المعادلة التالية في الخلية B1 : =RIGHT(A1,LEN(A1)-FIND("@",A1)) جرب تكتب أحرف زيادة على يمين العلامة أو على يسارها ، وشوف النتائج بنفسك !! (هنلاقي النتائج دايماً صحيحة سواء كتبت أحرف زيادة في اليمين أو في اليسار) .. طيب الدالة Left دي أسهل .. لأننا هنعتمد على موقع علامة @ وبس .. لو موقع علامة @ رقم 8 زي مثالنا ، يبقى المعادلة هتكون بهذا الشكل : =LEFT(A1,FIND("@",A1)) هنلاحظ الناتج فيه علامة @ للتخلص منها (هات أستيكة وامسحها) أو قم بطرح موقع العلامة @ - 1 ليصبح الناتج صحيح .. =LEFT(A1,FIND("@",A1)-1) نسينا شغل الأكواد ، واندمجنا في دوال الإكسيل . أعتذر ، لكن لابد من فهم المعادلة بشكل جيد ، حتى نتمكن من فهم العمل بالأكواد ... نروح للمحرر ::: Sub RightLeftFunction() Dim strEmail As String strEmail = Range("A1").Value Range("B1").Value = Right(strEmail, Len(strEmail) - InStr(strEmail, "@")) Range("C1").Value = Left(strEmail, InStr(strEmail, "@") - 1) End Sub أعتقد الموضوع أصبح واضح وضوح الشمس في نهار ملبد بالغيوم .. نفس الدالة اللي استخدمتها في ورقة العمل أخدتها نسخ ولصقتها في محرر الأكواد .. وبدلت شوية حاجات بسيطة : شلت المرجع A1 ووضعت مكانه المتغير strEmail ، وشلت Find ووضعت مكانها الدالة InStr (بس اللي مركز هياخد باله إن الدالة InStr بتبحث عن كومة القش وتشوف الإبرة -- لكن الدالة Find بتبحث عن الإبرة في كومة القش .. بمعنى آخر النص الفرعي المراد البحث عنه يختلف مكانه بالنسبة للدالة Find في ورقة العمل ، والدالة InStr في محرر الأكواد # انتهى الحديث عن الدالتين Right و Left ) ************************************************************************* ننتقل لآخر دالة (عشان أنا تعبت لكم صراحة ..) الدالة Mid ، وبردو فيه ناس تعرف الدالة كويس جداً من خلال ورقة العمل ... في الخلية A1 اكتب الإيميل yakh777@yahoo.com في محرر الأكواد اكتب الكود التالي : Sub MidFunction() Dim strEmail As String strEmail = Range("A1").Value Range("B1").Value = Mid(strEmail, 1, InStr(strEmail, "@") - 1) End Sub أنا بدأت بالمثال قبل الشرح .. الدالة ليها 3 بارمترات الأول هو النص المراد البحث داخله (كومة القش) ، والبارامتر الثاني هو بداية عملية التنقيب أو البحث وبيكون قيمة رقمية أكيد ، والبارامتر الثالث هو عدد الحروف المراد استخراجها .. في المثال النص هو المتغير strEmail وبداية عملية البحث 1 ، ولاستخراج عدد الحروف ولأنها غير معلومة أو أننا نريد استخراج الجزء الأول من النص قبل علامة @ قمنا باستخدام الدالة InStr لتحديد موقع علامة @ وطرحها من 1 لنحصل على عدد الأحرف على يسار العلامة (أظن مفهومة يا أخ سلومة).. واستخدامها في ورقة العمل مشابه تماماً لمحرر الأكواد .. المعادلة التي يمكن استخدامها في ورقة العمل : =MID(A1,1,FIND("@",A1)-1) الدالة ببساطة تقوم باستخراج النصوص التي ترغب ، ولكن استناداً إلى نصوص أخرى ... بهذا نكون قد انتهينا من دوال التعامل مع النصوص ... أرجو أن تكونوا قد وفقتم في فهم الحلقة على أكمل وجه .. الواجب المطلوب : في الخلية E5 قم بكتابة النص Yasser Khalil ، وفي الخلية المجاورة لها ، قم بعمل الكود اللازم لجعل النص يبدو بهذا الشكل Khalil, Yasser (لتسيهل الحل قم باستخدام دوال التعامل مع النص لاستخراج الاسم الأول ، والاسم الثاني ...مفتاح الحل) وإلى لقاء متجدد مع حلقات افتح الباب .. كان معكم أخوكم أبو البراء من مصمت أوفيسنا دمتم في رعاية الله
    1 point
  47. جرب هذه =IF(LEN(TRIM(A2));IF(ISNUMBER(SEARCH("-";A2));SUBSTITUTE(A2;"-";"")&IF(SEARCH("-";A2)-1=6;660;550);A2&IF(LEN(A2)=6;600;500));"") تحياتي
    1 point
×
×
  • اضف...

Important Information