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

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

  1. kanory

    kanory

    الخبراء


    • نقاط

      14

    • Posts

      2,256


  2. بن علية حاجي

    بن علية حاجي

    الخبراء


    • نقاط

      5

    • Posts

      4,342


  3. احمد بدره

    احمد بدره

    الخبراء


    • نقاط

      4

    • Posts

      979


  4. Ali Mohamed Ali

    Ali Mohamed Ali

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


    • نقاط

      3

    • Posts

      11,630


Popular Content

Showing content with the highest reputation on 18 فبر, 2019 in all areas

  1. جرب الملف بعد إضافة زر إغلاق للفورم مجلد جديد.rar
    3 points
  2. حسب فهمي للمطلوب، جرب المرفق لعل فيه ما تريد... بن علية حاجي WHAT IF.xlsx
    3 points
  3. بارك الله فيك استاذ بن علية حل ممتاز لابد لكل من يقوم بطرح المشاركة والحصول على الإجابة المطلوبة والمرجوة اعطاء صاحب الفضل والأستاذ الكريم الذى انعم الله عليه من فضله حقه بمعنى الضغط له على الإعجاب او الشكر واعتقد ان هذا هو اقل ما تقدمه له بارك الله فيكم جميعا اساتذتنا الكرام لكم الفضل بعد ربنا فى تعلمنا الإكسيل جعل الله كل هذه الأعمال فى ميزان حسناتكم
    2 points
  4. 2 points
  5. أخي مازن حياك الله ...... حتى تجد الاجابة تفيد بقواعد المنتدى قواعد المشاركة فى الموقع اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف
    2 points
  6. قواعد المشاركة فى الموقع اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف تم الاجابه على السؤال الثاني في موضوعك السابق ..... هنا
    2 points
  7. هل هذا طلبك ..... ولكن يجب الرد في نفس الموضوع لتعم الفائدة ولا تزعل ابو البشر .... Kan.mdb
    2 points
  8. تم تعديل المرفق حسب ما تريد .... وهو يتم استعارة الكتاب للشخص بدون تكرار الاستعارة في نفس اليوم ..... اليس كذلك .... انظر المرفق Date11.mdb
    2 points
  9. اخي الكريم ... هل جربت المرفق .... الطبيعي من يستعير . يتم تسجيل البيانات بتاريخ اليوم ... جرب عملية استعارة لشخص لهذا اليوم ثم حاول اضافة كتاب اخر بتاريخ اليوم ايضا وعند عملية الالحاق تظهر لك رساله تفيد بعدم امكانية استعارة الكتاب لوجود استعارة سابقة وهكذا يتم رفض عملية الالحاق ومسح تلك البيانات ... جرب
    2 points
  10. ارجو ان يكون هو مطلوبك .... Date11.mdb
    2 points
  11. السلام عليكم ورحمة الله تعالى وبركاته فى البداية اود ان اعتذر عن قلة مشاركاتى وذلك لقلة تعاملى مع الاكسس نظرا لانشغالى بـــ بيئة بيسك.نت ببساطة نحن مستخدمى الاكسس نريد ان يكون لدينا هذا الزر فى برامجنا 😂😂😂 اولا كان لدى محاولة واحدة عن كيفية جعل المستخدم يبحث عن تحديثات جديدة للبرنامج الخاص به عن طريق الانترنت فكانت نتيجة المحاولة هو ربط قاعدة البيانات اكسس بقاعدة بيانات سيكوال موجودة على استظافة مجانية قاعدة سيكوال بها حقلين هما رقم النسخة الجديدة ورابط التحميل الخاص بالتحديث الجديدة وهذا الموضوع يشرح ذلك وكانت اكبر المشاكل التى تقابلنى هى الاستضافة المجانية التى بعد شهرين او اكثر تحذف قاعدة بياناتك بدون سابق انذار ولا يوجد المال الكافى لحجز استضافة ورفع قاعدة البيانات سيكوال الخاصة بك عليها فكان التفكير فى استخدام البرامج السحابية (جوجل درايف - وان درايف - دروبوكس ) واكبر المشاكل التى ستقابلك هى المزامنة ثم المشكلة الاخرى وهى انك لن تطلب من كل المستخدمين تثبيت اى من البرامج السحابية لديه واعطائة اسم المستخدم وكلمة السر الخاص بالبرنامج السحابى الذى سترفع عليه التحديث حتى تتم المزامنة على جهاز العميل اولا باول اذا فما هو الحل انا اريد ان يضغط العميل على زر ( البحث عن تحديث جديد ) ثم يجد رسالة تخبره ان برنامجه محدث او انه توفر اصدار جديد من البرنامج اليكم فكرتى قد تحتاجونها او لا ولكن ما كنت لابخل عليكم بشئ فاء الله على به الفكرة بسيطة جدا تتلخص فى ملف نصى LastVersion.Txt قمت بكتابته به مجموعة اسطر الاول هو رقم الاصدار الجديد الثانى هو رابط تحميل التحديث الجديد وبعد هذا سطور على حسب الحاجة تقوم بالتعريف فيها بالتحديث الجديد ومميزاته طريقة العمل سيقوم المرفق الذى سادرجه هنا بتحميل الملف النصى من حسابك الخاص على دروبكس وتفريغ الاسطر التى بداخله الى مربعات النصوص التى بالنموذج ثم يقارن رقم التحديث الجديد بالرقم الحالى ويعلمك اذا كانت نسختك محدثة ام تحتاج تحديث المشاكل التى واجهتنى 1 - عدم وجود (direct download link او static download link ) نظرا لتغير رابط تحميل الملف النصى دائما فماذا سافعل اذ قمت مسبقا بادراج رابط ثابت لتحميل الملف النصى داخل البرنامج 2 - اذا اطلقت نسخة جديدة من برنامجى فساحتاج الى تعديل الملف النصى المحمل مسبقا والمدرج رابط التحميل الخاص به فى النموذج فكانت الحلول هو عمل static download link للملف النصى اى رابط تحميل ثابت للملف النصى تابع معى المتطلبات ---------------------- ان يقوم مصمم البرنامج فقط بالتسجيل على الموقع السحابى (https://www.dropbox.com/h) .. المصمم فقط ان شئت قلت كأنك حجزت استضافة مجانية بها 12 جيجا بايت ومجانية لانه بعد التسجيل سنحتاج اسم المستخدم وكلمة المرور لكتابتهم فى دوال التحميل داخل المرفق وهما دالتان مثل هذا الشكل الدالة الثانية ثم يقوم بانشاء الملف النصى الخاص بالبرنامج الذى صممه انا كتبته بهذا الشكل سنستخدم البرنامج السحابى دروبوكس (https://www.dropbox.com/h) بعد التسجيل - يمكنك التسجيل بسهوله عليه عن طريق رابط جوجل دون الحاجة الى ملئ البيانات بعد التسجيل ستجد نفسك فى الصفحة الرئيسية الخاصة بك بعد كتابة الملف النصى نقوم برفعه على الدروبكس بعد رفعه على الدروبكس نقوم باخذ اللينك الخاص به كوبى وذلك لعمل رابط مباشر له لتحميله بعد اخذ اللينك كوبى بقى اهم خطوة وهى عمل رابط تحميل مباشر له تابع معى ستجد رابط المشاركة بهذا الشكل الرابط الذى اخذته كوبى https://www.dropbox.com/s/n6oa483hwhlpkst/LastVersion.txt?dl=0 فقط استبدل https://www.dropbox.com استبدلها https://dl.dropboxusercontent.com ليصبح شكل الرابط هكذا https://dl.dropboxusercontent.com/s/n6oa483hwhlpkst/LastVersion.txt?dl=0 وبذلك اصبح لديك رابط مباشر له بعذ ذلك خذ الرابط الجديد وادرجه فى البرنامج فى هذا الكود ثم نقوم برفع القاعدة الجديدة المحدثة على الدروبكس وعمل رابط مباشر لها ولكن هذه المرة نقوم بادراج الرابط المباشر هذا فى الملف النصى لا فى البرنامج مع مراعاة ان نقوم بتحديث رقم الاصدار فيها قبل رفها ليطابق رقم الاصدار الموجود فى الملف النصى والان فيديو يشرح طريقة العمل تم اضافة اسم للمستخدم وكلمة السر يمكنك الان تجربة البرنامج المرفق LinkToUpdate.accdb اتمنى ان اكون عرفت اشرح وطبعا انا منتظر تشريفكم بتعليق لتجربة مرفقى المتواضع
    1 point
  12. السلام عليكم ورحمة الله وبركاته طريقة عمل نسخة احتياطية للبرنامج مرفق فورم ومديول كل ما عليك نسخهم واضافتهم للبرنامج ووضع زر امر لفتح الفورم من الشاشة الرئيسية وتستطيع عمل نسخة احتياطية للبرنامج في اي وقت وتخزينها في اي مكان تختاره على الكمبيوتر اتمنى لكم الفائدة backupform.accdb
    1 point
  13. طلبك غير واضح ولكن بحكم عملي أتوقع أنك تريد كم باقي يوم على انتهاء الإجازة وعودة الموظف عموما سويت لك ما فهمت من طلبك ، وفي السطر السادس سويت لك الطريقة التي أستخدمها شخصيا قد تفيدك جداول اجازة الموظفين2.xlsx
    1 point
  14. أولاً أشكرك على كلماتك الرقيقة تم بعون الله تعديل زر إغلاق الفورم إلى إغلاق البرنامج طبعًا دون ظهور الشيت مجلد جديد.rar
    1 point
  15. بارك الله فيكم جميعا وجزاكم الله كل خير والحمد لله الذى بنعمته تتم الصالحات
    1 point
  16. الف الف شكر اخي حفظكم الله ورعاكم
    1 point
  17. تفضل هذا بالكود وبكل الشروط واسرع بكثير فلترة بعدة شروط.xlsm
    1 point
  18. جزاك الله خير الجزاء عمل مميز فعلا عندي طلب بعد اذنك الطريقة ممتازة لنفس الملف اللي شغال عليه لكن لو كان البرنامج مرتبط بملف اخر فيه الجداول ... كيف ممكن انه نحدد قاعدة بيانات اخرى يسوي لها نسخة؟ مشكور اخي ابو اشرف سلوم
    1 point
  19. الاستاذ / عبد اللطيف جزاك الله خيرا علي ما تقدمه لنا ولي سؤال ان سمحت لي كيف يمكن عدم تكرار النسخة الاحتياطية ، اي في كل مرة ناخد نسخة من البرنامج تكون واحدة فقط في المكان المختار وعدم تكرارها في المرات التالية بارك الله فيك
    1 point
  20. السلام عليكم ورحمة الله بالنسبة للنهايات الكبرى للمواد في أي فصل فيتم جلبه للشهادات بمعادلات مباشرة من شيتات الصفوف (السطر أسفل أسماء المواد في كل جدول بيانات كل صف) فضع في هذا السطر أي قيم تريدها لهذه النهايات الكبرى... بالنسبة لشكل الشهادات فما عليك إلا أن تعدّل شكل أي شهادة حسب ما تريد (ترتيب أعمدة المواد مع عمود المجموع - كيفية حساب هذا المجموع حسب كل صف بذكر المواد المستثناة من الحساب) ونقوم بتعديل المعادلات وفق هذا النموذج... لا يهمك إن ظهرت أخطاء في المعادلات. بن علية حاجي
    1 point
  21. شكرا لك اخي عبداللطيف الفيديو رائع ولكن اريد الحل بطريقة اخرى مختصرة وهو عند الضغط على زر اضافة سجل جديد في النموذج الرئيسي لاول مرة يأخذ رقم 1 والسجل الثاني يأخذ رقم 2 وهكذا دون عمل ترقيم تلقائي ودون اعادة ترقيم في حال الحذف.وبارك الله فيك
    1 point
  22. وعليكم السلام تفضل فلترة بعدة شروط.xlsx
    1 point
  23. 1 point
  24. لا أدري ماذا تقصده بـ "عدد العملاء اكثر من 15000"، والدالة VLOOKUP كيف وأين تريد إضافتها وما علاقتها بعدد العملاء؟؟ ألا تقوم الدالة OFFSET المستعملة في الملف بما تريده؟ بن علية حاجي
    1 point
  25. هذه المعادلة اسحبها يميناً 3 أعمدة ونزولا قدر ما تريد =IF(C3="","",SUM(C3,1)) أو =IF(C3="";"";SUM(C3;1)) المعادلة تأخذ بعين الاعتبار (النص تعتبره صفراً)
    1 point
  26. السلام عليكم تستطيع عمل بيفوت تيبل Pivot Table سريع وبالنسبة لموضوع الطباعة لكل مندوب ، إتبع ما بالصورة البصمة_الجمع_down.xlsm
    1 point
  27. تم التعديل كما تريد و زيادة حبتين Last_addres In sheets.xlsm
    1 point
  28. الملف مفعل بذاته لأنني حرصت ألا آتي بالكراك أو التفعيل منفرداً احتراماً لقوانين المنتدى ، أحترم جداً قناعاتك الشخصية - جزيل الشكر والاحترام لشخصك الكريم .
    1 point
  29. موضوع في غاية الأهمية - جزاك الله عنا خير الجزاء وإضا سمحتلي أحببت أن أشارك في هذا الموضوع بملف تورنت لنسخة أوفيس بآخر تحديث وباللغة الانجليزية وبالنواتين - اسطوانة أكثر من رائعة Office2019X86X64EN16.0.9001.2144_archive.rar
    1 point
  30. بسم الله والصلاة والسلام على رسول الله السلام عليكم ما أجمل الجداول المحورية ،،، بل قل ما أجمل وما أروع برنامج الاكسيل ككل ،،، ولكن في بعض الأحيان لاتؤدي بعض أدوات البرنامج المطلوب بعينه ،،، أو كما نحب ونرغب ،،، فعلى سبيل المثال لا الحصر ،،، الجداول المحورية في وضع الاستخدام العادي تقوم بعمل تقرير ملخص للبيانات المصدر ضمن المدى المحدد ،،، دون إضافة التفاعل المطلوب ،،، ما لم !!! ما لم يتم إضافة بعض المهارات التي علينا أنت نتعلمها جميعاً ،،، حتى نحقق أفضل النتائج بأقصر طرق ممكنة ،،، ،،، وتأسيساً على ما سبق نسوق المثال التالي : ،،، فهذا الجدول المحوري يقوم بتلخيص البيانات الموجودة في ورقة البيانات المسماه (Source Data) ضمن المدى الديناميكي (dynarange) ،،، مع إضافة كود بسيط جداً مقترن بورقة البيانات التي يوجد بها الجدول المحوري والمسماه (ZEZO) : Private Sub Worksheet_Activate() Sheets("ZEZO").PivotTables("PivotTable1").RefreshTable End Sub وبالتالي بهذه الإضافات البسيطة تم خلق التفاعل المطلوب وهو بمجرد تدوين البيانات في ورقة (Source Data) والقيام بفتح ورقة (ZEZO) ،، يتم تحديث بيانات الجدول المحوري مباشرة ،،، ،،،هذا وبالله التوفيق ،،، ،،،أتمنى أن يكون المرفق مفيد للجميع ،،، ،،، مودتي وتقديري ،،، جدول محوري تلقائي التحديث.rar
    1 point
  31. ما هي الدوال : الدوال هي أسماء محجوزة ومعرفة من قبل الفيجوال بيسك لتقوم بعمل معين مثل المصفوفات والقيم المطلقة وغيرها .. أو بمعني ابسط واعم هي عبارة عن برنامج صغير مكتوب مسبقا و محفوظ داخل لغة الفيجول بيسك يمكن استدعاءه من خلال برنامجك والاستفادة منه ، إضافة إلى ذلك يمكنك أنت أن تكتب دالة وتستدعيها أكثر من مرة داخل برنامجك . والدوال في الفيجول بيسك تنقسم إلى: 1. الدوال الرياضية . Mathematics Functions 2. دوال سلاسل البيانات . String Functions 3. دوال الوقت و التاريخ Date and Time Functions 4. دوال التحقق من أنواع البيانات Data Type Inspection Functions 5. دوال المدخلات و المخرجات Program Output and User Input Functions 6. دوال مالية Financial Functions 7. دوال التحويلات Conversion Function 8. دوال التعامل مع الفهارس 9. دوال التعامل مع الملفات 10. دوال المصفوفات 11. و دوال متنوعة أخري 12. دوال معرفة من قبل المبرمج. User Defined Functions ( UDF ) ونلاحظ أن نوع الدوال من رقم (1) حتى رقم (7) أنها دوال داخلية ضمن اللغة، أي تأتي مُعرفة في لغة الفيجول بيسك و مبرمجة مسبقاً لكي تستخدمها مباشرة.ً أما النوع الأخير فيتم تعريفه بواسطة المبرمج، أي بواسطتك أنت. 1. الدوال الرياضية . Mathematics Functions الدالة Abs : ترجع القيمة المطلقة لآي عدد وترجعه من نفس نوع البيانات المعطى للدالة والمقصود بالقيمة المطلقة هي قيمة العدد بدون إشارة فالقيمة المطلقة ل (-13) مثلا هي (13) وهكذا, فمثلا لو كتبنا الكود التالي كود: MyNumber=Abs(-45.6) Text1.Text=MyNumber فإن نتيجة تنفيذ الدالة هي MyNumber=45.6 ولاحظ أن القيمة المدخلة للدالة لابد أن تكون عدد أو تعبير عددي فإذا كانت القيمة المدخلة للدالة Null ستكون النتيجة Null وإذا كانت القيمة المدخلة للدالة متغير فارغ أو لم يتم تعيين قيمة له ستكون النتيجة (0). الدالة Sqr : تستخدم هذه الدالة في تحديد الجذر التربيعي لرقم معين وتأخذ الصورة العامة التالية . كود: MyNumber=Sqr(10) Text1.Text=MyNumber فإن نتيجة تنفيذ الدالة هي MyNumber=3.1622776 الدالة Log : تستخدم هذه الدالة في تحديد قيمة اللوغاريتم العشري لرقم وتأخذ الصورة العامة التالية : كود: MyNumber=Log (20)Text1.Text=MyNumber فإن نتيجة تنفيذ الدالة هي MyNumber=2.9957327 الدالة Exp : تستخدم هذه الدالة في تحديد القيمة (e) وهي قاعدة اللوغاريتم الطبيعي مرفوعة بقوة الرقم الذي تتضمنه حيث (e) تساوي تقريبا 2.7182818 وتأخذ الصورة العامة التالية : كود: MyNumber=Exp (رقم) الدالة Rnd : : وتستخدم هذا الدالة في توليد أرقام عشوائية تقع ما بين الصفر و واحد بحد أقصي 15 رقما عشريا وتأخذ الصورة العامة التالية : كود: MyNumber=Rnd (عدد) فمثلا الدالة Rnd(10) قد تعطي رقما مثل 0.7055475 وعند تشغيل الدالة مرة أخري ينتج رقما آخر مثل 0.533424 وهكذا . التصريح Randomize : يعمل هذا التصريح مع الدالة Rnd ونستفيد منه عدم التكرارية و الحصول علي عشوائية افضل وذلك لأنه يعتمد علي ساعة النظام لديك . ويأخذ الصورة التالية . كود: RandomizeMsgBox Int((10 * Rnd) + 1( وهنا نعمل علي توليد أرقام عشوائية من واحد إلى عشرة . أما إذا أردت أن تجعل هذه العشوائية نصوص وليس أرقاما فلك طريقتين لتحايل علي هذا أما أن تضع النصوص في قاعدة بيانات وفي شكل سجلات وتعضي لكل سجل رقم أو تضعه في مصفوفة وتعضي لكل نص رقم أيضا وأنا افضل الطريقة الأولى لسرعتها الدالة Int : : وتستخدم هذه الدالة لحساب الجزء الصحيح فقط من رقم يشتمل علي أرقام صحيحة وعشرية أو بعبارة أخر لحذف الأرقام العشرية الموجودة بعد العلامة العشرية بدون تقريب وتأخذ الصورة التالية : كود: MyNumber=Int (332.54) فإن نتيجة تنفيذ الدالة هي MyNumber=332 الدالة Atn : : تستخدم هذه الدالة في حساب مقلوب ظل الزاوية "ظتا" للرقم الذي تشتمل علية مقدار بالتقدير الدائري وتأخذ الصورة العامة التالية : كود: MyNumber=Atn (رقم) الدالة Tan : : تستخدم هذه الدالة في تحديد قيمة ظل زاوية معينة وتأخذ الصورة العامة التالية : كود: MyNumber=Tan (رقم) الدالة Cos : : وتستخدم هذه الدالة في تحديد قيمة جيب تمام الزاوية معينة وتأخذ الصورة العامة التالية : كود: MyNumber=Cos (رقم) الدالة Sin : تستخدم هذه الدالة في تحديد قيمة جيب زاوية معينة وتأخذ الصورة العامة التالية : كود: MyNumber=Sin (رقم) الدالة Round : وهي دالة التقريب التي من خلالها يمكنك تحديد عدد الأرقام العشرية وتأخذ الصورة التالية : كود: MyNumber= Round(4.52696,2) حيث 4.52696 الرقم المراد تقريبه أما الرقم 2 فهو عدد التي ستقرب بعد العلامة العشرية وسيكون الناتج 4.53 الدالة Fix : وهي تشبه الدالة Int تماما أي أنها تستخدم لحساب الجزء الصحيح فقط وتأخذ الصورة التالية : كود: MyNumber= Fix(4.52696) فإن نتيجة تنفيذ الدالة هي MyNumber=4 دوال سلاسل البيانات . String Functions الدالة Array : تحول عدة بيانات مدخلة كنصوص تفصلها فاصلة إلى مصفوفة يكون رقم أول عنصر فيها (Lower Bound) هو (0) فمثلا لو أدخلنا النص التالي إلى الدالة . كود: "Frist","Second","Third","Forth" MyNumber= Array("First" , "Second" , "Third" , "Forth" )Print MyNumber(0)Print MyNumber(1)Print MyNumber(2)Print MyNumber(3) نرى أن النتيجة هي كود: FirstSecondThirdForth أي أن المتغير MyNumber يحمل مصفوفة ممتلئة بالنصوص المدخلة بعد أن تحولت إلى عناصر للمصفوفة لاحظ أن المتغير MyNumber كان من نوع Variant لأننا لم نعلن عنه ويمكن للمتغير من هذا النوع أن يحمل مصفوفة وكذلك يمكن أن تكون المصفوفة من أي نوع آخر فالمصفوفة المستعملة في المثال هي مصفوفة نصية بينما لو كانت العناصر المدخلة أرقما (لاستعملنا علامات التنصيص مع الأرقام حتى لا تعتبر نصوصا) لكانت مصفوفة من نوع Integer مثلا . الدالة Asc : ترجع كود الرمز المدخل (ASCII Code) فمثلا الحرف A له الكود 65 فعند إدخال حرف A مثلا ستكون النتيجة 65 وهكذا ( لاحظ أن حرف A يختلف عن حرف a في الكود) . كود: MyNumber = Asc("a") تجد أن المتغير MyNumber أصبح يحمل القيمة 97 . وهكذا .. انتبه فيما لو غيرة الحرف من صغير إلى كبير ستتغير القيمة إلى 65 الدالة UCase : وظيفتها بسيطة جدا فهي ببساطة تحول حالة النص المدخل من حالة الأحرف الصغيرة (Small Letters) إلى حالة الأحرف الكبيرة (Capital Letters) فالمثال التالي يحول "taftaf1267" إلى "TAFTAF1267” كود: Ucase("taftaf1267") الدالة LCase : تعيد الدالة LCase نسخة من النص string تكون فيه جميع الحروف صغيرة Lowercase المتغيرة myText في المثال التالي ستحتوي على عبارة it works : كود: myText = "It Works"myText = LCase(myText) الدالة chr : تقوم الدالة chr بأخذ قيمة بين 0 و 255 وتعيد الحرف الممثل لهذه القيمة في جدول رموز ASCII، على سبيل المثال العبارة التالية : كود: Hi,I'm "Asihy" ستجد أنك لا تستطيع كتابتها بهذا الشكل : كود: myText = "Hi," & vbCrLf & "I'm "Asihy"" لأن البرنامج سيعتقد بأن نهاية السلسة النصية السابقة هي عند علامات الاقتباس التي تقع مباشرة قبل كلمة Asihy وستظهر لك رسالة خطأ، لذلك فإننا نلجأ لاستخدام الدالة chr حيث أن رمز علامة الاقتباس المزدوجة في جدول ASCII هو 34، فتكون الصياغة الصحيحة للعبارة البرمجية السابقة كالتالي : كود: myText = "Hi," & vbCrLf & "I'm " & chr(34) & "TafTaf" & chr(34 ) الدالة Len : ستجد فيما بعد حاجة في كثير من الأحيان لمعرفة طول السلسلة النصية ( عدد الأحرف )، ولعمل ذلك استخدم الدالة Len، مرر إليها النص وستعيد لك عدد الحروف. كود: myLength = Len("TafTaf") الدالة InStr : يمكنك بواسطة هذه الدالة معرفة أول مكان يظهر فيه نص ما ضمن نص آخر أكبر منه. الوسيطة الأولى هي وسيطة اختيارية تحدد مكان بدء البحث، أما الوسيطة الثانية string1 فتحدد السلسلة النصية التي سيتم البحث فيها، والوسيطة الثالثة string2 تحدد السلسلة النصية التي سيتم البحث عنها في السلسلة الأولى، أما الوسيطة الأخيرة فهي اختيارية أيضا وتحدد نوع المقارنة التي يجب إجرائها وهي تأخذ أحد الثوابت التالية : 0 - vbBinaryCompare 1 - vbTextCompare والفرق بينهما هو أن الأولى تراعي حالة الأحرف والثاني لا تراعي حالة الأحرف. في المثال التالي الدالة i ستحتوي على القيمة 1 : كود: i = InStr("TafTaf","T") وأما المثال التالي فستحتوي i فيه على القيمة 3 : كود: i = InStr("aafTaf","T") حيث أن الدالة في المثال السابق ستبحث عن الحرف T بادئه من الحرف الثاني ولذلك فهي لن تجد الحرف الأول. الدالة InStrRev : : وهي شبيهه بدالة InStr ( وقد سبق شرحها من قبل ) ولكن تكون عملية البحث عن الحرف عكسية أي تبدأ من نهاية القيمة . وهي حساسة لحالة الأحرف وتأخذ الصورة التالية : كود: Print InStrRev("Mostafa", "a”)Print InStr("Mostafa", "a") بالنسبة للحالة الأولى سيكون الناتج رقم 7 لأنها تبدأ من نهاية القيمة . أما في الحالة الثانية فسيكون الناتج 5 لأنها تبدأ من بداية القيمة . الدالة Str : قد تبدو الدالة Str متشابهة مع الدالة chr، إلا أنها تؤدي وظيفة مختلف تماما، فهي تحول الأرقام إلى سلاسل نصية، وهي تفيد مثلا في حال أردت أن تقوم بالتحام بين رقمين فتقوم بتحويل كل منهما إلى سلسلة نصية وتطبق بينهما جمع السلاسل ( & ) الذي يختلف عن جمع الأرقام وبالتالي تحصل على سلسلة جديدة يمكنك أن تحولها إلى رقم من جديد، على سبيل المثال الدالة myNumber تحتوي على القيمة 123456. كود: myNumber = Str(123) & Str(456) ستواجهك مشكلة في الشفرة السابقة حيث يقوم فبجوال بيسيك بإضافة مسافة قبل كل سلسلة نصية تنتج من الدالة السابقة. الدالة Val : وهي تحول السلاسل النصية إلى قيمة رقمية وهي عكس الدالة Str() التي تحول الأرقام إلى سلاسل نصية وتأخذ الصورة التالية : كود: myNumber = Val (Text1.text) وهنا تعمل الدالة علي تحويل القيمة الموجودة في Text1 إلى قيمة رقمية . الدالة Left : حيث تقوم بوضع سلسلة نصية string وتحدد الجزء الذي تريد اقتطاعه من بداية السلسلة length، والتعبير بكلمة من بداية السلسلة أدق من يسار السلسلة لأن هذا قد يحدث اشتباها في السلاسل النصية للغات التي تكتب من اليمين إلى اليسار مثل العربية، هنا تعيد السلسلة العدد المحدد من الحروف من اليمين أي أنها لا تهتم لاتجاه ظهور أحرف السلسة وإنما اتجاه تخزينها، وللتخلص من هذه المشكلة سنقول بداية السلسلة . الدالة Right : : مطابقة للدالة Left في كل شيء، إلا أنها تأخذ العدد المحدد من الحروف من نهاية السلسلة. الدالة Mid : : تعيد الدالة Mid عددا من الأحرف قدره length بدءا من حرف معين هو start، في سلسلة نصية string لاحظ أيضا أن الوسيطة length اختيارية وإذا لم تمرر بها أي قيمة فإن الدالة ستعيد الأحرف إلى نهاية السلسلة . في المثال التالي ستحتوي المتغيرة myText على العبارة I'm Taf : كود: myText = Mid("I'm TafTaf", 1, 7) أما في المثال التالي فستحتوي على الكلمة TafTaf : كود: myText = Mid("I'm TafTaf", 5) التصريح Mid : : يقوم التصريح Mid باستبدال مقطع محدد من النص بنص آخر، وهو يكتب في صورة مشابهة جدا لطريقة كتابة دالة Mid ولكن توضع بعده علامة مساواة وبعدها العبارة الجديدة، في المثال التالي ستحتوي المتغيرة myText على القيمة I'm Asihy : كود: name = "Asihy"myText = "I'm name"Mid(myText, 5) = name حيث سيتم حذف الجزء المحدد بالخاصية Mid ويوضع الجزء الذي بعد علامة المساواة في مكان الجزء المحذوف . الدالة strReverse : تعيد السلسلة string معكوسة، أي تبدأ من البداية وتنتهي من النهاية، المتغيرة myText في المثال التالي ستحتوي على العبارة emoclew : كود: myText = strReverse("welcome") الدالة Replace : وتقوم باستبدال النص string2 بالنص string3 ضمن السلسلة string1، أي أنها تبحث فبالنص string1 عن النص string2 وعندما تجده فإنها تحذفه منه وتضع مكانه string3، ويمكن تحديد نقطة بداية البحث بالوسيطة start، وعدد مرات الاستبدال القصوى بالوسيطة count، ضع القيمة -1 لاستبدال الكل، وطريقة المقارنة بالوسيطة compare كما ذكر سابقا. المتغيرة myText في المثال التالي ستحتوي على القيمة Hi Everyone : كود: myText = Replace("Welcome Everyone,", "Welcome", "Hi", 1, -1) الدالة Format : وتقوم هذه الدالة بتنسيق رقم أو سلسلة حروف أو التاريخ/الوقت الموجود في التعبير تبعا لتعليمات التنسيق الموجودة في الدالة نفسها . وتأخذ الصورة التالية : كود: MyDate = Format(Date, "dd-mmm-yyyy")Text1.Text = MyDate الدالة Trim : تقوم هذه الدالة بحذف الفراغات الموجودة في الجهة اليسري و اليمني من سلسلة وتأخذ الصورة التالية : كود: MyText = Trim(" TafTaf ")Text1.Text = MyText الدالة Rtrim : تقوم هذه الد الة بحذف الفراغات الموجودة في الجهة اليمني من سلسلة وتأخذ الصورة التالية : كود: MyText = Rtrim("TafTaf ") الدالة Ltrim : وتقوم هذه الدالة بحذف الفراغات الموجودة في الجهة اليسري و اليمني من سلسلة . وتأخذ الصورة التالية : كود: MyText = Ltrim(" TafTaf ") الدالة Space : وتقوم هذه الدالة سلسلة فراغات محدده بالعدد الموجود بين الأقواس كود: MyText ="I'm"+Space (2)+"TafTaf" الدالة StrComp : تقارن سلسلتين لتحدد هل هما متساويتين ثم تعيد رقما بنتيجة المقارنة وتأخذ الصورة العامة التالية : كود: MyText =StrComp("TafTaf","TafTaf") الدالة Ascw : وهي عكس الدالة Asc فالدالة Ascw ترجع كود الرمز المدخل إلى الترميز Unicode وتأخذ الصورة التالية : كود: MsgBox Ascw("ت") الدالة Chrw : وهي عكس الدالة Chr تعيد الحرف الممثل لهذه القيمة في الترميز Unicode وتأخذ الصورة التالية : كود: MsgBox ChrW(1578( توضيح اكثر للدوال الأربع : كود: Private Sub Command1_Click()MsgBox Asc("ت")MsgBox AscW("ت")MsgBox Chr(202(MsgBox ChrW(1578)End Sub الدالة String : وتعمل هذه الدالة علي تكرار الحرف المار أليها وناجذ الصورة التالية . كود: MyString = String(10, "T") MsgBox MyString هنا عملنا علي تكرار حرف T عشر مرات . كود: mystring = String(2, 13)ss = "Welcome To V.B World" & mystring & "Welcome To V.B World"MsgBox ss وفي هذا المثال عملنا علي تكرار الضر علي مفتاح الإدخال والذي يرمز له برمز (13) في جدول اسكي مرتان . [ دوال الوقت و التاريخ Date and Time الدالة Now : تعيد هذه الدالة تاريخ اليوم و الوقت الحالي باستخدام ساعة الحاسب الذي تعمل علية وتكون بالصورة التالية : كود: Label1.Caption = Now() الدالة Time : تعيد هذه الدالة الوقت الحالي حسب ما هو مدون بساعة الحاسب الذي تعمل علية وتكون بالصورة التالية كود: Label1.Caption = Time() ________________________________________ الدالة Date :تعيد التاريخ الحالي حسب ما هو مسجل بالحاسب ويكون بالصورة التالية : كود: Label1.Caption = Date() ________________________________________ الدالة Day والدالة Month :تعيد الدالة Day() رقما يقع بين 1 ، 31 يمثل ترتيب اليوم المقابل لقيمة تاريخية بينما تعيد الدالة Month() رقما يقع بين 1 ، 12 يمثل ترتيب الشهر المقابل لقيمة تاريخية كود: Label1.Caption =Day(Date())Label1.Caption =Month(Date()) ________________________________________ الدالة DateSerial : تعيد هذه الدالة التاريخ المسلسل المقابل لليوم والشهر والسنة المدون بين الأقواس وتأخذ الصورة التالية : كود: GetDate=DateSerial(2003,4,11)MsgBox GetDate ________________________________________ الدالة TimeSerial : تعيد هذه الدالة الوقت المسلسل المقابل للساعة و الدقيقة و الثانية المدونة بين الأقواس وتأخذ الصورة التالية : كود: Get_Time=TimeSerial(12,59,20)MsgBox Get_Time ________________________________________ الدالة DateValue : تعيد هذه الدالة التاريخ المقابل لتعبير معين وتأخذ الصورة التالية : كود: RelVal = DateValue(Now – 1(MsgBox RelValSelect Case RelVal Case Is < Int(Now): Verb "كان "= Case Is > Int(Now): Verb = "سيكون" Case Else: Verb = "اليوم هو"End SelectWhatDay = Format(RelVal, "dddd”)MsgBox UserDate & Verb & WhatDay يبن هذا المثال تحديد يوم من أيام الأسبوع (أمس) بعد تحديد قيمة تاريخ اليوم (بفرض : الاثنين الموافق 2سنة 1997) ثم طرح (1) منة يظهر الناتج في صورة رسالة بان أمس "كان الأحد" . ________________________________________ دوال Hour,Minute,Second,TimeValue: كود: Hour(رقم)Minute(رقم)Second(رقم)TimeValue(تعبير) تعيد هذه الدوال قيم الساعة ، الدقيقة ، الثانية أو الوقت . كود: Midnight=TimeValue(“23:59:59”)HourDiff=Hour(Midnig ht)-Hour(Now)MinuteDiff=Minute(Midnight)-Minute(Now)SecondDiff=Scond(Midnight)-Second(Now)+1If Second Diff=60 Then MinuteDiff=MinuteDiff+1 SecondDiff=0End IfIf MinuteDiff=60 Then HourDiff=HourDiff+1 MinuteDiff=0End IfTotalMinDiff=(HourDiff*60)+MinuteDiffTotal SecDiff=(Total MinDiff*60)+SeconDiffMsg=”إجمالي الوقت المتبقي علي منتصف الليل هو”& Format(Total SecDiff,”#,##0”)Msg=Msg&”ثانية ، يمكن ترجمتها إلي”Msg=Msg & HourDiff & “ساعة، ” & MinuteDiffMsg=Msg & “دقيقة، و ” & SecondDiff & “ثانية”Msg BoxMsg يستخدم هذا المثال الدوال السابقة لتحويل الوقت المتبقي علي منتصف الليل إلى ثواني ثم ترجمة هذا الوقت إلى ساعات ودقائق وثواني في رسالة كهذه "إجمالي الوقت المتبقي علي منتصف الليل هو 79972 ثانية يمكن ترجمتها إلى 22 ساعة 12 دقيقة 25 ثانية " ________________________________________ الدالة Weekday : تعيد هذه الدالة ترتيب اليوم بين أيام الأسبوع من التاريخ المدون بحقل التاريخ أو القيمة التاريخية باعتبار أن يوم الأحد رقم 1 والاثنين 2 ... وهكذا كود: Label1.Caption = Weekday(#1/4/97#) ________________________________________ الدالة Year : تعيد هذه الدالة رقما يعبر عن السنة لتاريخ معين . كود: Label1.Caption = Year(#1/4/97#) ________________________________________ الدالة DateAdd : تعيد هذه الدالة تاريخ جديد بعد أن تضيف له قيمة جديدة وبصرف عن اسم هذه الدالة فهي تعمل مع كل من التاريخ و الوقت . ويوضح الجدول التالي المقصود بالمعامل "الفاصل الزمني " و القيم التي يمكن تخصيصها له : الفاصل الزمني -----------التوضيــــــــــــــــــــح yyyy ----------- سنة q -----------ربع سنة m -----------شهر y -----------يوم في سنة d -----------يوم w -----------يوم من الأسبوع ( الأحد 1 ، والاثنين 2 ... وهكذا ww -----------أسبوع h -----------ساعة n -----------دقيقة s -----------ثانية كود: Label1.Caption = DateAdd("yyyy", -10, Date( وفي هذا المثال تعيد هذه الدالة السنة الحالية 2003 إلى 10 سنوات مضت 1993 ________________________________________ الدالة DateDiff : تقوم هذه الدالة بإعادة الفرق بين تاريخين . Label1.Caption = DateDiff("y", 2000, 2003( بينما المثال التالي يحدد عدد الأسابيع وعدد الأيام ما بين أول أيام سنة 2003 وتاريخ اليوم كود: Label1.Caption = DateDiff("ww", #4/5/2003#, Now())Label2.Caption = DateDiff("y", #4/10/2003#, Now()) ________________________________________ الدالة DatePart : تقوم هذه الدالة بإعادة جزء من التاريخ (مثل اليوم أو الشهر أو الأسبوع أو الساعة ) ويتم تعين هذا الجزء بواسطة الفاصل الزمني . تعيد الدالة في هذا المثال رقم اليوم المحدد في حقل تاريخ الاعتماد (OrderDate ) كود: Label1.Caption = DatePart("w", OrderDate)
    1 point
  32. السلام عليكم و رحمة الله ما شاء الله إبداعات جميلة من الأخ بن عيلة جزاه الله كل خير ====================== و هنا طريقة أخرى لتلوين الأسطر و الأعمدة قم بتحديد المدى الذي ترغب في تطبيق التنسيق عليه و من ثم اكتب هذه المعادلة في التنسيق الشرطي =OR(CELL("row")=ROW(),CELL("col")=COLUMN()) و من ثم في رايت كليك على اسم الصفحة و اختر view code و اضف هذا الكود البسيط Private Sub Worksheet_Selectionchange(ByVal Target As Range) Application.ScreenUpdating = False End Sub و سيتم تلوين الأسطر و الأعمدة داخل هذا الجدول أما إذا كنت تريد فقط تلوين الأسطر استبدل المعادلة أعلاه بالمعادلة التالية =CELL("row")=ROW() و الحالة الثالثة إذا كنت تريد فقط أن تلون الأعمدة استبدل المعادلة بالتالي =CELL("col")=COLUMN() =============== أتمنى أن تكون المعلومة مفيدة لك نسأل الله لنا و لكم العفو و العافيه يحيى حسين - تنسيق شرطي.rar
    1 point
×
×
  • اضف...

Important Information