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

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

  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. السلام عليكم ورحمة الله وبركاته لا ننكر فضل الله علينا في كل أمور حياتنا الحمد لله علي كل حال نبدأ بالصلاة والسلام علي أشرف خلق الله سيدنا محمد صلى الله عليه وسلم أساتذتي وإخواني أقدم لكم اليوم عمل من أعمال أستاذنا ومعلمنا ضاحي الغريب ده رابط موضوع أستاذنا / ضاحي الغريب http://www.officena.net/ib/index.php?showtopic=48783&p=296067 بس أنا عملت فيه شويت تعديلات وفنيات لأحد الزملاء حسب عمله ورغبته وقررت أن أرفعه علي المنتدى حتى تعم الفائدة لأن الهدف الرئيسي هو التعلم والإفادة ونوجه الشكر لمعلمنا القدير / عبد الله باقشير " اللي لازم أستعمل فنياته وأعماله داخل ملفي " وأوجه الشكر لأستاذي / رجب جاويش وحبيبي وأستاذي / حمادة عمر وملك المعادلات / جمال عبد السميع وأخي / إبراهيم أبو ليلة وأعضاء كثيرون لا نستطيع أن ننكر مجهودهم وفضلهم علي المنتدي كلمة المرور 123 سندات V.2.2.rar
    1 point
  9. السلام عليكم إخواني الكرام أقدم لكم اليوم ملف قمت بإعداده ، لنتعلم من خلاله كيفية عمل قائمة منسدلة يمكن البحث من خلالها ... الملف به كل التفاصيل أرجو أن ينال إعجابكم وأن ينفعكم به Searchable Drop Down List.rar
    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. اخى الفاضل تفضل الملف المرفق لعل به طلبك تحياتي التحكم في ادخال بيانات في خلية.rar
    1 point
  16. هنا مربط الفرس زى ما بيقولوا و ده اللى عايزين نوصلوا واللى بيأكد كلامى أن اليوزرفورم أصلا مربع أو مستطيل وتم التحايل باللون الأبيض الشفاف ولو لاحظت الكود التالى مديول 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
  17. أخى الفاضل عبدالله بولنوار المرفق التالى هدية منى لك فورم دائرى هدية لأخى عبدالله بولنوار.rar
    1 point
  18. أخى الفاضل تفضل الملف المرفق .. تم اضافة الدالة الرائعة للأستاذ القدير أبو القبطان SumColorValue .... وتم اضافة شيت به كافة أرقام الألوان ... كل ما عليك ان تنسق الخلايا بأى لون تختاره من شيت الألوان ColorNo .... ثم تذهب الى الخلية التى تريد الجمع فيها وتكتب =SumColorValue(B4:B14,22) حيث أن من B4:B14 هو النطاق المراد جمعه و 22 هو رقم اللون للخلايا >> هنا سيجمع الخلايا الملونة فقط تحياتي SumColorValue.rar
    1 point
  19. تفضل أخي ما طلبت جرب الفورم والتفقيط أخي الفاضل من بعد إذنك أنت لم تقم بالتعديل الليبل في في واجهة سند صرف لأن الفورم به واجهتين MultiPage بقيت درهم على حالها بالنسبة للتفقيط بعد الفاصلة "فلس " هل فيها تغيير أم تتركها على حالهاا تم التعديل سند صرف وقيض.rar
    1 point
  20. اها هنا اتحمل فرجت عليا من وسع بحلين :D الفكره اللى اشتغلت بيها ممتاززززه الهمتنى فى شغل تانى كنت عايز اعمله بس اعتقد ان داله ا-جمال صريحه على الشغل بتاعى دا مشكووور جدااا على الفكره اللى ضيفتهالى :) اسعدني انك استفدت من الفكرة .. بالطبع معادلة الاستاذ جمال مختصرة و انيقة و صحيحة على كلا و اثراء للموضوع هذا حل اخر بأستخدام IF الشرطية 777.zip
    1 point
  21. السلام عليكم ورحمة الله وبركاته استاذى / ابراهيم ابو ليلة ، جزاكم الله خيرا .... ونفعنا الله من علمكم استاذى / محمد الريفى لقد ابدعتم ..... حتى فاح عطر الابداع حل رائع وزياده بارك الله فيكم جميعا ، ونفعنا الله بكم اينما كنا ، واينما كنتم .
    1 point
  22. تحياتى ليك اشكرك على الأهتمام
    1 point
  23. ان شاء الله سيكون لي نصيب من الخير سأرفق كود رائع لعمل اللجان والكود خاص بالعلامه عبد الله باقشير كشف مناداة بالكود.rar
    1 point
  24. اخى الكريم انا جربت الملف حاول سجل ارقام وشوف النتيجة هتلاقى هى المطلوبه
    1 point
  25. بعيدا عن المعادلات الشرطية أستخدم هذه الطريقة ستكون أفضل فى الخلية "C6" =MIN(100000,D5)*2% فى الخلية "C7 " =MIN(MAX(0,D5-100000),250000)*2.5% فى الخلية "C8" =MAX(D5-350000,0)*3% تقبلوا تحياتى معادلة تحقق شروط معينة.rar
    1 point
  26. جميل ان نحاول هذه محاولة اخرى تفضل عذرا حذفت الملف و اعدت رفعه بعد اكتشاف خطأ .. 111.zip
    1 point
  27. بعد اذن استاذى سليم اخى الكريم جرب المرفق هل به طلبك تقبل تحياتى 111.zip
    1 point
  28. اخى الفاضل تفضل الملف المرفق لربما به طلبك تحياتي Book2.rar
    1 point
  29. وقد نسيت فليسامحني الله الاستاذ الكبير عماد الحسامي جزاه الله خيرا وبارك فيه ولاانسى الاستاذ محمدي عبد السميع صاحب هذا الموضوع جزاه الله خيرا وبارك فيه
    1 point
  30. اكواد مفيده خاصه بعمل واجهه ملف مثل الكنترول المدرسي إسم المستخدم :admin كلمة المرور:222 وهذه البيانات يمكنك تغيرها من صفحة واجهة الدخول اللهم ارزق هؤلاء الاساتذه العظام الجموعي والصفر وياسر خليل بعفوك ورحمتك واجزيهم خيرا واجهه كنترول مفيد للاستاذ الحسامي2.zip
    1 point
  31. عندما تشرفت بدخولي المنتدى العظيم وجدت اناسا يملأ قلوبهم حب الخير فاردت ان اقدم عملا احس انه مفيد لاحبابي على قدى وهو كود لعمل ارقام الجلوس بطريقة جديده وهو منسوب لاستاذ فاضل ويمتاز بالتواضع اسمه الصقر جزاه الله خيرا كود رقم الجلوس.rar
    1 point
  32. اه لم أنتبه لذلك تعديل بسيط هو جعل زر التحكم دخول هو الإفتراضي مرفق واجهه كنترول للاستاذ الحسامي2.zip
    1 point
  33. استاذنا الكبير العلامه عبدالله باقشير أتمنى يارب تكون بافضل صحه وعافيه ولكن أحب ان اطمئن الاخوة ان الاستاذ عبدالله له دخول خاص فأعتقد انه دايم الدخول ومتابعه كل ما يتم بالمنتدى واذا كان ظنى خطأ فاتمنى ان يكون سبب غيابه عننا خير يارب وان شاء الله نتصل بيه على جواله لنطمئن عليه والسؤال واجب عن كل اخ او اخت من الاعضاء او الاساتذه بالمنتدى اللى بيغيبو عننا يارب يكونو كلهم جميعا بخير ونشوفهم قريب بالمنتدى لنسعد ونتشرف بهم تقبلوا تحياتى
    1 point
  34. روعه لا قمة الروعه اقول ايه ربنا يجزيكم خيرا ربنا يبارك في السائل والمجيب الاساتذه الكرام السائل الذي ظل يحاور لكي يصل بهذا المستوى الرائع للفنان الصقر الذي افاض بعلمه المفيد علينا ربنا يبارك له
    1 point
  35. الاخت الكريمه كويس انك بديتى تسالى علشان تتعلمى وان شاء الله قريب اشوفك كدا زى الاخت الكريمة أم عبدالله أسال الله تعالى ان تكون بخير السطر التالى دا بيعمل على فك الحمايه للورقه ActiveSheet.Unprotect Password:="111" والسطر ده بيعمل على ارجاع الحمايه مره اخرى للورقه بعد الانتهاء من تنفيذ الكود ActiveSheet.Protect Password:="111", DrawingObjects:=True, Contents:=True, Scenarios:=True علشان تغيير لازم تغير كل الاسطر دى فى كل الاكواد ومتنسيش الكود اللى فى حدث فتح الورقه ايضا يتتغير تقبلى تحياتى
    1 point
  36. الله اكبر الله اكبر ماشاء الله ربنا يجزيك خيرا استاذي المتواضع عندما افتح المغاره افصد الفيجوال واغير الباسوورد اللي هو 111 الى رقم تان وهو ال 1 واحفظ .... وتكون الصفحة محميه واحاول فتحها ثانيه بالرقم الجديد لايتم فتحها وانما تفتح بالرقم القدبم ال111 لماذا ؟
    1 point
  37. السلام عليكم في المرفق مثال للسؤال وليس الحل أرجو من السائل أن يوضح هل هذا هو السؤال قمة وقاع.rar
    1 point
  38. هل هناك قانون رياضي يحكم الأمر ؟؟ لأني لست خبيراً في القوانين الرياضية
    1 point
  39. اخى الفاضل تفضل الملف المرفق لربما به طلبك تحياتي الشيكات المستحقة.rar
    1 point
  40. اخى الفاضل بنفس الطريقة بالضبط يتم اخفاء او اظهار الصف مرة أخرى، لكن لا اعلم هناك خلل في الملف الذي قمت بارفاقه بمجرد تشغيله عندي يغلق الاكسل بأكمله فقمت بتصميم ملف آخر لتوضيح الفكرة لك تحياتي Hide&Unhide.rar
    1 point
  41. اخى الفاضل أبو سليمان نصيحة أخ، ابتعد عن الشبهات وعن البورصة والفوركس وغيرها من طرق السراب التى لا تسمن ولا تغنى من جوع .. طرق استنزاف الاموال التى لو أقمت بها اى مشروع تجاري على الأرض لتضاعفت أموالك أضعاف مضاعفة لا اعلم ان كان لى الحق في قول هذا لك أم لا .. ولكن النصيحة حق للمسلم على أخيه المسلم .. تأخذ بها أم لا فهذا قرارك تحياتي
    1 point
  42. اخى الفاضل أبو آلاء وجهة نظرى ان الموضوع ليس به أى تعدي .. فحضرتك حينما طرحت موضوعك على العام وللجميع دون تنويه منك عن اى حق من حقوق الملكية الفكرية .. أصبح الملف ملك للجميع ولجميع الأعضاء الحق المطلق في تنزيله وتعديله بالزيادة أو الحذف بما يناسب عمل كل شخص والا لكنت احتفظت به على جهازك وحدك دون مشاركة الأعضاء فيه. هذه وجهة نظرى البحته في هذا الموضوع .. تحياتي
    1 point
  43. مشكور أخي أيمن على التحية تقبل تحياتي
    1 point
  44. 1 point
  45. الحلقة الثانية عشر *************** السلام عليكم ورحمة الله وبركاته ... إخواني الكرام ..ها أنا قد عدت إليكم بعد طول عياب (والعود أحمد .. مش ياسر ولا حسام) نبدأ حلقة جديدة معكم من حلقات افتح الباب ، وهات لي معاك كيلو كباب (عشان لسه العشا مجهزش) نكمل في هذه الحلقة بإذن الله مشوار الدوال الخاصة بالتعامل مع النصوص - * - كنا اتكلمنا عن الدالة 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
  46. جرب هذه =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