بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
4479 -
تاريخ الانضمام
-
Days Won
198
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو أ / محمد صالح
-
دورة شرح الفيجول بيسك للتطبيقات VBA
أ / محمد صالح replied to عبدالله المجرب's topic in منتدى الاكسيل Excel
أشكر جميع الإخوة على المرور والكلمات الرقيقة وكما وعدتكم هذا أول فيديو وهو يخص الإعلان عن المتغيرات والثوابت بصورة كاملة وبصورة مختصرة ومعرفة نوع بيانات متغير بالكود وكذلك التحويل بين أنواع البيانات وسيتم بإذن الله شرح كيفية كتابة الماكرو والدالة وإضافة تعليقات في المرة القادمة ولا تنسوا أخاكم محمد صالح من صالح دعائكم -
دورة شرح الفيجول بيسك للتطبيقات VBA
أ / محمد صالح replied to عبدالله المجرب's topic in منتدى الاكسيل Excel
بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته استكمالاً لما بدأه الإخوة الأعزاء أواصل معكم أحبابي أعضاء منتدى أوفيسنا سلسلة شرح فيجوال بيسك التطبيقات vba عرفنا في الفصل الأول تسجيل الماكرو ومستويات الأمان والتعامل مع ما تم تسجيله من الماكروات سواء بالحذف أو تعيين اختصار أو ربطه بزر ........ والكثير. وفي الفصل الثاني تعرفنا على محرر فيجوال بيسك وواجهته الرئيسية ومكونات نافذته واستخدامات كل جزء فيها وخصائص معظم عناصر التحكم التي يمكن استعمالها في نماذج vba. والآن جاء دورنا مع التعرف على أساسيات لغة vba كلغة برمجة: ما الفرق بين vb (فيجوال بيسك) و vba (فيجوال بيسك التطبيقات) ؟ لا أجد فرقا كبيراً فالقواعد المتبعة هنا هي نفسها هناك ولكن الفرق الوحيد الجوهري هو أن vb قائمة بذاتها أما vba فيتم احتوائها داخل أي تطبيق مثل الإكسل أو الوورد أو أي تطبيق آخر كما أن vb قادرة على إنتاج ملفات تنفيذية exe تكون واجهة للبرنامج بعد ذلك أما vba فتستعمل التطبيق المضمنة داخله كواجهة لها ولا تنتج ملفات تنفيذية. * من أول ما يجب علينا معرفته في أي لغة برمجة هي: المتغيرات : وهي عبارة عن مخازن يتم تحزين البيانات بداخلها في ذاكرة الحاسب وتختلف مساحة المخزن باختلاف حجم ما يتم تخزينه بداخله وهنا يجدر بنا الإشارة إلى شروط تسمية المتغيرات فيجب ألا يكون اسم المتغير من الكلمات المحجوزة في إكسل وهذه صورة لبعضها ويجب ألا يبدأ اسم المتغير برقم ويمكن أن يبدأ بحرف أو _ (underscore) وألا يحتوي على مسافة أو رمز خاص لذلك نجد أن vba تحتوي على مجموعة من أنواع البيانات التي تحدد نوعية المتغيرات منها: Byte : وهو اصغر أنواع البيانات مساحة حيث يشغل في ذاكرة الكمبيوتر 1 بايت ومداه الأرقام من صفر إلى 255 فقط. Integer : وهو لتخزين الأرقام الصحيحة بطول 5 خانات ويشغل في الذاكرة 2 بايت ويمكن اختصار تعريفه هكذا: dim variableName% بدلا من dim variableName as integer Long : وهو رقم صحيح طويل بطول 7 خانات ويشغل في الذاكرة 4 بايت ويختصر بإضافة & في نهاية اسم المتغير. Single : وهو لتخزين رقم عشري بطول 7 خانات ويشغل في الذاكرة 4 بايت ويختصر بإضافة ! في نهاية اسم المتغير. Double : لتخزين رقم عشري بطول 15 خانة ويشغل في الذاكرة 8 بايت ويختصر بإضافة # في نهاية اسم المتغير. Boolean : لتخزين قيم منطقية true/false ويشغل في الذاكرة 2 بايت. String : لتخزين النصوص حتى أكثر من 2 مليار حرف والحرف يشغل 1 بايت أي يتسع المتغير النصي إلى 2 جيجا بايت نصوص. Date : لتخزين التواريخ والأوقات ويشغل في الذاكرة 8 بايت يبدأ تاريخ vba من 1/1/100 حتى 31/12/9999 (لاحظ أن تاريخ الإكسل يبدأ من 1/1/1900) ويجب إحاطته بعلامة # مثال : mydate=#1/1/2000# Object : لتخزين الكائنات التي تحتوي على خصائص ووظائف ويتم تعيينه بجملة set ويشغل في الذاكرة 4 بايت أو حسب خصائص ووظائف الكائن المحدد. Variant : لتخزين كل الأنواع السابقة ويمكن تخزين المصفوفات بداخله أيضاً. وهذه الصورة توضح أنواع البيانات ......................... نأتي إلى معاملات لغة vba وتنقسم إلى : معاملات حسابية مثل الأس والضرب والجمع وهكذا يجب علينا معرفة أولوية حساب هذه المعاملات (أي العمليات يتم أولاً؟) وهي كالتالي مرتبة من الأكثر أولوية إلى الأقل كما بالصورة: نأتي الآن إلى معاملات المقارنة وهي تستعمل للمقارنة بين قيمتين وهي كالتالي: = يساوي <> لا يساوي > أكبر من >= أكبر من أو يساوي < أصغر من <= أصغر من أو يساوي والآن جاء دور المعاملات المنطقية : وهي التي تستعمل للتحقق من أكثر من شرط وهي كالتالي: Not : وهي لعكس نتيجة قيمة فإذا كانت true ترجع هي القيمة false والعكس صحيح. And : وترجع true إذا كان كلا الشرطين صحيح وترجع false فيما عدا ذلك. Or : وترجع false إذا كان كلا الشرطين غير صحيح وترجع true فيما عدا ذلك. Xor : وترجع false إذا كان كلا الشرطين صحيحاً أو خطأً وترجع true فيما عدا ذلك. Eqv : وهي عكس xor حيث ترجع true إذا كان كلا الشرطين صحيحاُ أو خطأً وترجع false فيما عدا ذلك. .......... إن أول ما يستعمله المبرمج في لغة البرمجة هي دالة الرسائل حيث يقوم من خلالها بإرسال رسائل للمستخدم أو يأخذ منه قيم من خلال مربع الإدخال فهيا بنا نتعلم الرسائل ومربع الإدخال: الصيغة العامة لصندوق الرسالة msgbox : MsgBox(prompt[, buttons] [, title] [, helpfile, context]) وتعني prompt نص التنبيه ثم بعدها الأزرار المستخدم في الرسالة ثم عنوان الرسالة ثم ملف المساعدة ثم رقم المقالة داخل ملف المساعدة وكل القيم اختيارية ما عدا نص الرسالة وهذه صورة تحتوي على أسماء الثوابت والقيم الرقمية المستخدم في خانة الأزرار. ويمكننا أن نضع القيمة الراجعة من الرسالة في متغير مثل: Mas=msgbox(“are you ready”,vbyesno,”title”) وهذه صورة توضح القيم الراجعة من صندوق الرسائل كثوابت وكقيم رقمية لاستعمالها في كاستجابة لاختيار المستخدم فإذا اختار المستخدم نعم نفذ كذا وإذا اختار المتخدم لا نفذ كذا. نأتي الآن لمربع الإدخال inputbox وهو شبيه بصندوق الرسائل وصيغته العامة هي: myValue = InputBox(message, title, defaultValue) وتحتاج إلى نص الرسالة وعنوان الصندوق والقيمة الافتراضية بحيث إذا لم يدخل المستخدم قيمة أو وافق على القيمة المقترحة منك ويمكننا التعامل مع القيمة الراجعة منه كما تعاملنا مع القيمة الراجعة من الرسالة. ..................... وبإذن الله في الدرس القادم سوف نتعرف على كيفية الإعلان عن المتغيرات والثوابت وكذلك ما يسمى بمدى المتغيرات وكيفية إنشاء ماكرو من خلال الكود وليس بتسجيل ماكرو وكذلك كيفية إنشاء دالة . وكيفية إضافة تعليقات للكود وبإذن الله سوف يكون فيديو. .......... وأعدكم بهديتين في الفيديو ولكن بعد أن يتم اكتشافهما من حضراتكم سوف يتم إخباركم بالسر فيهما. -
(تمت الاجابة) تثبيت قيمة الخلية بعد حساب الصيغة
أ / محمد صالح replied to ببساطة's topic in منتدى الاكسيل Excel
أخي الكريم ببساطة الحمد لله الذي وفقك للوصول للحل ولكن يبدو لي أن المطلوب تغير وإذا كنت من البداية كتبت المطلوب صحيحاً كما هو موجود في المشاركة 21 لما ضاع عليك وقت كبير في انتظار الحل ولما ضاع مني ومن كل من حاول الجهد في الوصول لما كنت تريده الحمد لله -
(تمت الاجابة) تثبيت قيمة الخلية بعد حساب الصيغة
أ / محمد صالح replied to ببساطة's topic in منتدى الاكسيل Excel
أخي الكريم مكتوب في التوضيح وهذا شيء غير منطقي فتثبيت نتيجة الصيغة معناه حذف الصيغة والاحتفاظ بنتيجتها فقط على العموم في المرفق خلاصة الأمر تعامل معه كما تريد كود لتثبيت النتيجة وكود لتصفير الخلايا وكود لإنشاء أرقام عشوائية جديدة توضيح1.rar -
(شرح فيديو) طريقة عمل القوائم المنسدلة العادية والمرنة
أ / محمد صالح replied to عبدالله المجرب's topic in منتدى الاكسيل Excel
ما شاء الله بارك الله لك أخي عبد الله جمعتك مباركة إن شاء الله -
طلب انشاء يوزر فورم Attendance Roll
أ / محمد صالح replied to ياسر أحمد الشيخ's topic in منتدى الاكسيل Excel
بارك فيك أخي الكريم قلت قبل ذلك يفضل وضع 0 في عدد الساعات للغائب (وإذا صممت أن تكون حرف x مثلا يمكنك استبدال CDbl(TextBox3) ب TextBox3 في كل أنحاء الكود) ...... لماذا تكتب التاريخ ألم تقل اختياره من قائمة؟؟!! في حالة تحضير الكل أو تغييب الكل ليس مهما اختيار زر الخيار حضور أو غياب ولا كتابة رقم العامل فقط تكتب عدد الساعات أو x ثم تضغط على زر تنفيذ على الكل (زر حضور أو غياب يتم الضغط عليه فقط في حالة عامل واحد ويجب قبلها كتابة رقم العامل ..... وأنا شخصيا لا ارى فائدة من الزرين فمهمتما واحدة وهي كتابة ما هو موجود في عدد الساعات للعامل المحدد) أتمنى أن تكون التعليمات واضحة -
طلب انشاء يوزر فورم Attendance Roll
أ / محمد صالح replied to ياسر أحمد الشيخ's topic in منتدى الاكسيل Excel
أخي الكريم اكتب لي ماذا يحدث بالضبط معك من أول فتح الملف وخطوات تنفيذك للمطلوب بمنتهى التفصيل وساعتها يمكن أن نصل للمشكلة -
(تمت الاجابة) تثبيت قيمة الخلية بعد حساب الصيغة
أ / محمد صالح replied to ببساطة's topic in منتدى الاكسيل Excel
أخي الكريم بتنفيذ ما تقول سيتم الدخول في سلسلة غير متناهية من الأوامر كيف؟ إذا وضعنا في الخلية g8 معادلة وهي حاصل ضرب c8 في e8 ثم قمنا بعملية النسخ واللصق كقيمة سيتم المطلوب في حدث عند فتح ورقة العمل ولكن إذا قمت بتغيير قيمة خلية معينة ووضعنا في حدث عند تغيير قيمة خلية أن يتم وضع معادلة ثم نسخها ثم لصقها كقيمة سيتم تكرار الأمر إلى مالا نهاية لأن اي تغيير في الخلايا سيعيد الكرّة ...................... اسمح لي أخي الكريم في اي شيء تريد أن تستعمل هذا الكود وهذه الطريقة؟؟ أخبرنا ممكن أن نضع تصوراً آخر يتوافق مع طرق البرمجة ولا يعيد سلسلة لا نهاية من الأوامر -
(تمت الاجابة) تثبيت قيمة الخلية بعد حساب الصيغة
أ / محمد صالح replied to ببساطة's topic in منتدى الاكسيل Excel
أي مهمة؟ تثبيت الناتج أم تثبيت الأرقام العشوائية؟؟ وأين تريد وضع الكود ؟ عند فتح الملف أم عند تنشيطه أم عند تغيير قيم خلايا داخل ورقة العمل؟؟؟ -
يمكنك استعمال هذه الموقع مجاناً http://www.pdftoexcelonline.com/ ويوجد به برنامج بروفيشنال يمكن شراؤه وفي الأخير إذا كان مكتوب فيه كلمات عربية ستظهر بطريقة غير سليمة أما الأرقام والكلمات الإنجليزية تظهر مضبوطة (حتى مع أفضل نسخة من البرنامج) لأنه حتى الآن لم يتم حل مشكلة اللغة العربية في pdf
-
أخي الكريم إذا كنت تستعمل أوفيس 2003 وما قبله format---->sheet----->background تنسيق---->ورقة------->خلفية وإذا كنت تستعمل أوفيس 2007 وما بعده تبويب page layout ثم background تبويب تخطيط الصفحة ثم خلفية
-
(تمت الاجابة) تثبيت قيمة الخلية بعد حساب الصيغة
أ / محمد صالح replied to ببساطة's topic in منتدى الاكسيل Excel
أخي الكريم تعالى نتحدث بهدوء إذاً أنت تريد وضع صيغة في خلية .... تمام؟ ثم يتم حساب ناتج الصيغة موضوع القيم سواء عشوائية أو ثابتة لا يغير في الهدف الأساسي المطلوب وهو : كتابة صيغة وحساب قيمتها بعد النسخ واللصق الخاص لعمود الناتج يتم الاحتفاظ بالنتيجة بدون تغيير فهل مثلا الرقم في الخلية الأولى كان 8 بعد اللصق الخاص أصبح 20 مثلا؟؟!! لا أعتقد ............. ولكن لأنك تستعمل الدالة rand وهي تقوم بتوليد رقم عشوائي فالذي يتغير هو الأرقام التي تقوم بحسابها وليس الناتج فمثلا الأرقام عند فتح الملف 8 * 2 والناتج 16 بعد نسخ ال 16 ولصقها كقيمة لن تجد الأرقام التي حسبتها (2 و 8) ولكن ناتجها 16 موجود ولن يتغير بل تغيرت الأرقام لأرقام عشوائية أخرى ولكن يظل الناتج ثابتاً وهذا ما طلبته أنت ............. وإذا كنت تبحث عن تثبيت الأرقام التي تم حسابها قم بالنسخ واللصق الخاص كقيم لخلايا الأرقام العشوائية وليس للناتج وستجد الأرقام والناتج صحيحين والله أعلم بما تريد أنت تنفيذه أخي الكريم -
أخي الكريم إمكانيات النموذج في الإكسل قليلة جداً إذا ما قورنت بالأكسس والفيجوال بيسك دوت نت ولكن ما الشكل الذي تريده أنت بالضبط؟ فمن الممكن أن يكون متاحاً في إكسل
-
طلب انشاء يوزر فورم Attendance Roll
أ / محمد صالح replied to ياسر أحمد الشيخ's topic in منتدى الاكسيل Excel
أخي الكريم alidroos زرا الخيار حضور وغياب يقومان نسخ عدد الساعات للموظف المحدد في اليوم المحدد ولا يقومان بنقل عدد الساعات لكل الموظفين ولكن ما يقوم بهذ هو زر تنفيذ على الكل وقد طرح هذا الأخ عبد الله في مشاركته المقتبسة ......... وبالنسبة لموضوع إثبات المتغيرات فلا أدري أي شيء تقصد للعلم الكود يعمل عندي حتى مع تنشيط الخيار الثاني require variable deceleration لأن جملة option explicit ليست مكتوبة في الكود -
طلب انشاء يوزر فورم Attendance Roll
أ / محمد صالح replied to ياسر أحمد الشيخ's topic in منتدى الاكسيل Excel
أخي عبد الله الأخ صاحب الموضوع تقريباً ينوي استعمال حضور وغياب فقط لمجرد البحث أما عملية الإضافة للشيت فسيكون في عدد الساعات صفر في حالة الغياب وعدد الساعات في حالة الحضور -
(تمت الاجابة) تثبيت قيمة الخلية بعد حساب الصيغة
أ / محمد صالح replied to ببساطة's topic in منتدى الاكسيل Excel
هذا ما يقوم به اللصق الخاص أخي الكريم قم بكتابة المعادلة في أول خلية ثم قم نسخ المعادلة حتى أي مدى تريده سيتم حساب الخلايا التي تحتوي على المعادلة تلقائياً بعد نسخ المعادلة إلى نهاية المدى قم بتحديد المدى المطلوب ثم انسخه والصقه على طريقة اللصق الخاص ستجد أنه إذا تغيرت الخلايا الأولى لن يؤثر ذلك على الخلايا التي تم لصقها كقيم ........... ولا يوجد طريقة أخرى لتنفيذ ما تقوله إلا اللصق الخاص كقيم سواء يدوياً كما شرحت لك أو بالكود وذلك من خلال تسجيل ماكرو لما تم شرحه -
(تمت الاجابة) تثبيت قيمة الخلية بعد حساب الصيغة
أ / محمد صالح replied to ببساطة's topic in منتدى الاكسيل Excel
أخي الكريم الموضوع بسيط جداً من خلال اللصق الخاص بعد وضع المعادلة في الخلايا قم بتحديدها ثم نسخها ثم على نفس الخلايا المحددة اضغط بزر الفارة الأيمن ثم اختر paste special لصق خاص ثم اختر منها values قيم -
كـــيـــف أدرج تــوقــيــع صــورة ؟؟؟
أ / محمد صالح replied to برج مراقبة's topic in منتدى الاوتلوك Outlook
أخي الكريم جرب أن تكتب كود الصورة في التوقيع بأن ترفع صورة لك على الإنترنت ثم تضع كود html الخاص بالصورة في مربع التوقيع كالتالي: <img src="path_to_file.jpg" /> حيث أن path_to_file.jpg هو مسار الصورة التي رفعتها على الإنترنت -
طلب انشاء يوزر فورم Attendance Roll
أ / محمد صالح replied to ياسر أحمد الشيخ's topic in منتدى الاكسيل Excel
يا حبيبي كل ما تقوله موجود باستثناء حكاية عند الضغط على زر p من لوحة المفاتيح لأنه يتم تسجيله عند الضغط على زر الاختيار مباشرة (فلا تحتاج بعدها لضغط p ) -
طلب انشاء يوزر فورم Attendance Roll
أ / محمد صالح replied to ياسر أحمد الشيخ's topic in منتدى الاكسيل Excel
علام الشكر إذاً؟؟ جرب أخي الكريم ما يلي: أن تضغط على زر إظهار النموذج أن تختار اليوم من القائمة المجاورة لكلمة تاريخ اليوم أن تكتب رقم العامل في مربع النص المجاور لكلمة رقم العامل (سيتم إظهار الاسم ورقم الصف في التسميات المجاورة) أن تكتب عدد الساعات في المكان المخصص أن تضغط على حضور أو غياب أو تنفيذ على الكل ولن تجد اي شيء يحدث بعد كل هذا -
طلب انشاء يوزر فورم Attendance Roll
أ / محمد صالح replied to ياسر أحمد الشيخ's topic in منتدى الاكسيل Excel
على العموم هذا ما فهمته من المطلوب أن يتم رصد ما هو مكتوب في عدد الساعات في الخلية المجاورة للموظف في عمود اليوم المختار وبالنسبة لموضوع تغييب موظف يفضل وضع 0 في حالة الغياب في خانة عدد الساعات وعدم كتابة نصوص وعذراً عن عدم مواصلتي المطلوب الخاص بعرض نتائج البحث لانشغالي Mas_Attendance_Roll.rar