محمود_الشريف قام بنشر أكتوبر 9, 2014 قام بنشر أكتوبر 9, 2014 بسم الله الرحمن الرحيم دروس فى VBA Excel هذه الدروس نتيجة جهد مستفاد من شروحات وأعمال السادة أساتذة منتديات أوفيسنا أسأل الله عز وجل لهم أن تكون فى ميزان حسناتهم http://www.officena.net/ib/index.php الدرس الأول قبل أن نبدأ، دعونا نتأكد من أن الأدوات التي نحتاجها موجودة. إذا كنت تستخدم ( Excel 2007) أو إصدار أعلى click ". Office button, then click Excel Options بالاسفل سيتم إضافة علامة تبويب جديدة وهى Developer سوف نحتاج فى العمل مع التعليمات البرمجية ل VBA ، محرر، يتم تثبيته بشكل افتراضى. يمكنك فتحه عن طريق الضغط على تركيبة مفتاح الاختصار " Alt+ F11 ": او انقر على الشكل المشار له بالسهم بالصورة السابقة انتهى الدرس الأول مرفق ملف PDF يرجى ان كان هناك أى استفسار يكون فى مضمون الدرس حتى لا يتم التشتيت وتقبلوا منى وافر الإحترام والتقدير الدرس 1VBA Excel.rar 18 1
محمود_الشريف قام بنشر أكتوبر 9, 2014 الكاتب قام بنشر أكتوبر 9, 2014 الدرس الثاني تسجيل الماكرو سنقوم بعمل المثال التالى معا للتعرف على تفاصيل خاصة بالكود والماكرو وأتمنى أن يتم تنفيذه من قبل الدارس أو الراغب فى التعلم المثال - حذف محتويات الأعمدة A و C - نقل محتويات العمود B الى العمود A - نقل محتويات العمود D الى العمود C قم بتعبئة محتويات الأعمده السابقة بأيه بيانات قم بالضغط على "Ok" " Record Macro" قم بتنفيذ المطلوب يدويا الى أن تنفذ جميع الخطوات بالترتيب لأن كل ما تفعله يتم تسجيله من قبل اداه تسجيل الماكرو ثم إضغط على Stop Recording الخطوات بالصور لتسهيل تنفيذ المطلوب بعد تعبئة البيانات قم بالضغط على Record Macro تظهر لنا نافذة 1 - نقوم بكتابه اسم الماكرو نلاحظ أن اسم الماكرو لا يحتوى على ايه مسافات ومن الممكن أن نضع علامه ( _ ) بين كلمتين لو اردنا تسمية الماكرو بأسم مكون من كلمتين مثلا 2 – نجد ان هناك كلمه Ctrl + وبجوارها مربع وتعنى أننا يمكن وضع أى حرف داخل هذا المربع ويكون وسيله لإستدعاء الماكرو فيما بعد لتنفيذ المطلوب وهذا امر غير مطلوب حاليا سيتم توضيح ذلك فيما بعد ان شاء الرحمن بالتفصيل 3 – هناك مستطيل به سهم رأسه الى الأسفل وتعنى اختيار من متعدد وهنا نقوم بإختيار الملف المراد تسجيل به الماكرو فى حاله ان هناك مثلا عدد ( 2 ) ملف اكسل مفتوحين 4 – وهناك مربع آخر وهو الوصف المختصر لهذا الماكرو الذى سيتم تسجيله وحاليا هذا الأمر غير مطلوب 5 – نقوم بالضغط على زر OK بعد الانتهاء من تنفيذ المطلوب بالكامل نقوم بالضغط على ايقاف التسجيل كما بالصورة التالية ملحوظة قد تظهر علامه تسجيل الماكرو بأسفل الشيت نقوم بالضغط عليها لتسجيل الماكرو كما بالصورة ثم بعد الانتهاء من تنفيذ المطلوب نقوم بالضغط على ايقاف التسجيل كما بالصورة لقد تم تسجيل الماكرو ونبدأ الآن فى معرفة تفاصيل الكود الذى قمنا بعمل خطواته من خلال عمليه التسجيل ومعرفة بعض الأمور الأساسية والهامه للكود البرمجى للدخول الى الصفحة التى بها الكود البرمجى والذى تم تسجيله تلقائيا فى موديول نقوم بالضغط على ALT+F11 معا تفتح لنا صفحه تسمى صفحه محرر الأكواد كما بالصورة الملاحظات : 1- يبدأ الكود بكلمه Sub ثم اسم الماكرو ثم هذين القوسين المغلقين ( ) الكود دائما يبدأ بذلك الأمر وخاصة إذا كان داخل موديول وهناك أكواد تكتب ولا تسجل عن طريق الماكرو تبدأ بخلاف ذلك وتلك التى توجد داخل حدث الصفحة ( الشيت ) أو داخل حدث الملف This Workbook وسيأتى الحديث عن ذلك بالتفصيل فيما بعد ان شاء الرحمن داخل تلك الدروس 2 – هناك داخل الكود علامه (( ' )) وهى دائما تكون مصبوغة باللون الأخضر وتسمى علامه اقتباس أحادية تشير الى تعليق يمكنك كتابته يدويا بأى لغة الفائدة منها : وهذا التعليق يكون خاص إما بشرح جزء من الكود أو تشير الى تعليمات برمجيه معينه يتجاهلها الكود تماما أثناء عملية تنفيذ الكود وليس لها اى تأثير مطلق على الكود 3 – ينتهى الكود بجمله End Sub وهذه الجمله هامه جدا لإنهاء عمل الكود 4 – يمكننا هنا ونحن داخل الموديول الذى به الكود البرمجى الذى تم تسجيله تلقائيا بناء على أننا قمنا بتنفيذ الخطوات الخاصة بالمثال يدويا · تغيير اسم الكود الى اى اسم .. اى نقوم بتغيير كلمه Module1 الى اى كلمه أخرى قد تكون معبرة عن طبيعة عمل الكود أو حتى يمكننا وضع اسمنا باللغة الإنجليزية طبعا دون ترك مسافات ويمكننا الاستعانة بوضع تلك العلامه ( _ ) التى تسمى Under Scour يمكننا التعديل والإضافة داخل الكود البرمجى ايضا فى تغيير اسماء الأعمده والمدى وخلافه أو أى أمر آخر كما يتراء لنا وسيأتى فيما بعد ذكر هذا الأمر فى الدروس القادمة بشىء من التفصيل >>>> يتبع الدرس الثانى >>>>>> 7
محمود_الشريف قام بنشر أكتوبر 9, 2014 الكاتب قام بنشر أكتوبر 9, 2014 تابع الدرس الثانى ندخل الى مرحله تنفيذ الماكرو الذى قمنا بتسجيله ولها خطوات معينة كالتالى : نذهب الى الشيت ثم نضغط على Insert تظهر لنا نافذة نختار منها Button ثم نقوم بوضعه داخل الشيت كما بالصور التالية ثم نقوم بالضغط على الزر كليك يمين ونختار تعيين ماكرو كالتالى تظهر لنا نافذة نختر منها اسم الماكرو وهنا قد اسميته MZM_ELSHRIEF ثم نختار This Workbook ثم نضغط على OK كالتالى الآن يمكنك تنفيذ الماكرو الذى قمنا بتسجيله بمجرد الضغط على الزر أى Button يمكنك أيضا تغيير اسم الزر اذا اردت ذلك كالتالى بالضغط كليك يمين على الزر تظهر لك نافذة اختر منها اضافة نص حفظ الملف عند حفظ الملف تظهر لنا رساله كما بالصورة التالية نضغط على زر NO فتظهر لنا رساله أخرى كما بالصورة التالية نضغط على زر Yes فتظهر لنا نافذة كما بالصورة التالية نقوم بإختيار من Save as type Excel Macro-Enbled Workbook ثم نضغط على Save الخيار التالى كما بالصورة التالية فتكون أيقونه الملف كما بالصورة التالية انتهى الدرس الثانى مرفق ملف PDF به كامل الدرس الثانى يرجى فى حاله هناك استفسار أن يكون فى مضمون الدرس حتى لا يتم التشتيت وتقبلوا منى وافر الاحترام والتقدير الدرس 2.rar 14 1
عماد ابو خلف قام بنشر أكتوبر 9, 2014 قام بنشر أكتوبر 9, 2014 شكرا اخ محمود واعذرني على التشتيت لكن اود طريقه اضافه power pivot الى الايكسل2010 لو امكن اوتدلني على رابط لذلك وشكرا 1
طالب علم 1 قام بنشر أكتوبر 9, 2014 قام بنشر أكتوبر 9, 2014 بارك الله فيك وجزاك خيرا وجعله في ميزان حساناتك 1
محمد الريفى قام بنشر أكتوبر 9, 2014 قام بنشر أكتوبر 9, 2014 اخى فى الله واستاذى محمود الشريف اسال الله ان يتقبل هذا العمل ويديم عليك العلم والعطاء وافادة الاخرين 3
ابو بهاء المصري قام بنشر أكتوبر 9, 2014 قام بنشر أكتوبر 9, 2014 فكرة جميلة وارجو التعمق في تناول الاكواد بطريقة سهلة ومبسطة وموفق انشاء الله 2
الصـقر قام بنشر أكتوبر 9, 2014 قام بنشر أكتوبر 9, 2014 استاذى محمود الشريف ادام الله عليك نعمه العلم والعطاء وفقك الله الى ما فيه الخير للعباد فكره رائعة وفى انتظار المزيد وتقبل احترامى وتحياتى 2
أبو محمد عباس قام بنشر أكتوبر 9, 2014 قام بنشر أكتوبر 9, 2014 السلام عليكم ورحمة الله وبركاته الاخ والاستاذ محمود الشريف جزاكم الله خيرا جهد كبير واهتمام اكبر لنشر العلم والمعلومة التي يحتاجها اغلب الاخوة الاعضاء جعل الله عملكم هذا وجميع اعمالكم في ميزان حسناتكم تقبلوا فائق الاحترام والتقدير 1
محمد الورفلي1 قام بنشر أكتوبر 9, 2014 قام بنشر أكتوبر 9, 2014 السلام عليكم بارك الله فيك (( استاذ محمود استمر في هذه الدروس التعليمية // هذا مانريد تعلمه منكم نسأل الله ان تكون لك صدقة جاية وعلم ينتفع به 2
ياسر خليل أبو البراء قام بنشر أكتوبر 9, 2014 قام بنشر أكتوبر 9, 2014 بسم الله ما شاء الله تبارك الله شرح أكثر من رائع وأسلوب متميز نتمنى الاستمرار في هذه السلسلة الممتعة أسأل الله عزوجل أن يجعل أعمالك في ميزان حسناتك يوم القيامة وأن ينفع بك المسلمين 1
MAHMOUD ALI YOUSSEF قام بنشر أكتوبر 9, 2014 قام بنشر أكتوبر 9, 2014 فكرة رائعة وجميلة جزاك الله كل خير
ابراهيم الحداد قام بنشر أكتوبر 9, 2014 قام بنشر أكتوبر 9, 2014 بارك الله فيك اخى . بصراحة اسلوب الشرح يعتبر من افضل الشروحات التى رأيتها فى هذا المنتدى نرجو الاستمرارية لتلك الدروس الرائعة كما نرجو من الادارة تثبيت الموضوع . ولكم جزيل الشكر 2
محمود_الشريف قام بنشر أكتوبر 10, 2014 الكاتب قام بنشر أكتوبر 10, 2014 إخوانى فى الله الأستاذ الكريم // عماد أبو خلف الأستاذ الكريم // محمد الريفى الأستاذ الكريم // أبو بهاء المصرى الأستاذ الكريم // حسام عيسى الأستاذ القدير // أبو محمد عباس الأستاذ الكريم // محمد الخازمى الأستاذ القدير // ياسر خليل الأستاذ الكريم // أبو صلاح الأستاذ الكريم // محمود على محمود الأستاذ الكريم // زيزو العجوز بارك الله فيكم على مروركم الكريم وثناؤكم على الموضوع وتقبلوا منى وافر الإحترام والتقدير 1
محمود_الشريف قام بنشر أكتوبر 10, 2014 الكاتب قام بنشر أكتوبر 10, 2014 الدرس الثالث إعدادات الأمان لغة VBA هي لغة برمجة وهذا يعنى أنه يمكن لبعض المبرمجين أن يستغلها استغلالا سيئا فى إنشاء برامج ضاره تضر بالحاسب الآلى الذى يستخدم هذا البرنامج وعليه قررت شركة مايكروسوفت إضافة خاصية الأمان لحماية المستخدم وللدخول إلى خيارات الأمان نتبع الخطوات التالية : بأوفيس 2007 وما فوق نضغط على زر برنامج الأوفيس كما بالصورة ثم نضغط على Excel Option تظهر لنا نافذة كما بالصورة ثم نختار Trust Center من القائمة تظهر لنا نافذة أخرى كما بالصورة ثم نضغط على Trust Center Settings تظهر لنا نافذة كما بالصورة نجد هنا قسمين بالنافذة الأعلى ( الصورة السابقة ) الجزء الأول به عدد ( 4 ) اختيارات ومعناهم كالتالى : اختيار الخيار الثانى او الثالث عندما يقوم المستخدم بفتح البرنامج تظهر نافذة الاكسيل كما بالصورة التالية وبالضغط على زر Options تظهر لنا نافذة كما بالصورة التالية فإن كنا نثق بالبرنامج والمصدر نضغط على الخيار الثانى وهو Enable this content ونضغط على OK مرفق ملف به كامل الدرس الثالث وتقبلوا منى وافر الاحترام والتقدير الدرس 3.rar 5
محمود_الشريف قام بنشر أكتوبر 10, 2014 الكاتب قام بنشر أكتوبر 10, 2014 الدرس الرابع الرسائل نتحدث هنا عن استخدام بعض التقنيات التى تجعل استخدامنا للماكرو _ ( برمجه اكسل ) _ أكثر مرونه .. وذات طابع احترافى وأكثر جمالا وذلك من خلال استخدام الرسائل من خلال كتابة بعض الأكواد البسيطه السؤال ؟ أين تكتب تلك الأكواد ؟ تكتب تلك الأكواد داخل حدث الشيت تكتب داخل حدث المصنف تكتب داخل موديول تكتب داخل أكواد اليوزر فورم أى تكتب حسب الحاجه لها على أن تكون داله على الهدف منها سواء كان تحذير من شىء أو طرح سؤال بسيط مثال ( 1 ) نريد أن نتأكد من أن الطابعه فى وضع التشغيل وإعطاء المستخدم فرصة للتأكد من ذلك مع توقف الماكرو عن العمل الى أن يقرر المستخدم الضغط على زر موافق أو OK التالى نص الرساله التى ستظهر كما بالصورة MsgBox “Please make sure that the printer is switched on” جدير بالذكر عند الملاحظة الأولى لشكل الرساله كما بالصورة السابقة نجد نص الرساله ثم زر OK اذا الإستنتاج هنا يدفعنا الى ذكر سؤال هام لمعرفة كيفية ظهورها بهذا الشكل س : مما تتكون الرساله ؟ وكيف تكتب ؟ ج : تتكون الرساله من هذه التركيبة التالية MsgBox (prompt [, buttons] [, title] [, helpfile, context]) السؤال الذى يطرح نفسه هنا س : ماذا تعنى هذه التركيبة ؟ ج : كالتالى كلمة Prompt تعنى ان تكون الرساله سريعه أى عند حدوث أمر ما تظهر الرساله سريعا هناك أيضا أمور يجب ذكرها : 1 - طول الرساله يتكون من 1024 حرف 2 - واذا كانت الرساله تتكون من عده أسطر يجب الفصل بين كل سطر بعلامه (& _ ) 3 – هناك معيار هام فى الرسائل عندما مثلا تريد تحذير المستخدم الى ان الطابعه تعمل مع التأكيد على ذلك بزر OK هنا نستخدم الفواصل وهو امر ضرورى كمثل الرساله التالية MsgBox “Is the printer on?”, , “Caution!” وكما الصورة نأتى الى القيم الرقمية التى سبق الإشارة عنها وبشىء من التفصيل فمثلا إذا كنت تريد القيمة 4 والقيمة 32 يكون النص الذى يكتب فى الكود هكذا MsgBox Prompt:=”Delete this record?”, Buttons:=36 وتظهر الرساله كما بالصورة التالية أو يكتب النص هكذا MsgBox (Prompt:=”Delete this record?”, Buttons:=vbYesNo + vbQuestion) وإذا أردنا كتابة الرسالة بالترتيب الخاص بها كما ذكرنا بكيفية كتابة الرساله فتكون هكذا MsgBox("Text", vbYesNoCancel + vbExclamation + vbDefaultButton2, "Title") فتظهر الرساله كما بالصورة التالية هنا السؤال يطرح نفسه هل يمكن كتابة كل هذه الأزرار فى الرساله ؟ الإجابة بالقطع (( لا )) · فمجموعة القيم من ( 1:5 ) تمثل الأزرار التى ستظهر فى الرساله وعلى حسب ما تريد وتختار · ومجموعة القيم ( 16,32,48,64 ) تمثل نوع الرساله من كونها استفهام أو تعجب .. الخ وعلى حسب ما تختار · ومجموعة القيم ( 0,256,512,768 ) تعنى أى الأزرار YES أو NO أو CANCEL تريدها أن تكون الإفتراضية للمستخدم أى المضيئة يمكن التعبير عن الرساله فى الكود بالقيمة مثل وتظهر الرساله كما بالصورة السابقة MsgBox("Text", 3 + 48 + 256, "Title") مرفق ملف به كامل الدرس الرابع وتقبلوا منى وافر الاحترام والتقدير الدرس 4.rar 9
أم عبد الله قام بنشر أكتوبر 10, 2014 قام بنشر أكتوبر 10, 2014 (معدل) الأستاذ الفاضل / محمود الشريف السلام عليكم ورحمة الله وبركاته جزاك الله خيراً على هذا الشرح الرائع . جعله الله في ميزان حسناتك ونرجو الاستمرار في هذه السلسلة المفيدة جداً والتعمق في الأكواد المركبة بعد ذلك وطريقة حضرتك في طرح السؤال والاجابة عليها ممتازة جداً ويتبقى طرح سؤال في كل درس للتطبيق العملي من جهة المتعلم لكي تعم الفائدة وتكون الإجابة على هذه الأسئلة أخر الأسبوع أو أول كل درس جديد كما يسمح وقت حضرتك. رجاء آخر من أساتذتي الكرام التعقيب إن لزم الأمر بطرق أخرى إن وجدت. جعله الله في ميزان حسناتكم وزادكم الله من فضله وعلمه. لكم كل التحية والتقدير. تم تعديل أكتوبر 10, 2014 بواسطه أم عبد الله 1
محمد يوسف محمد1 قام بنشر أكتوبر 10, 2014 قام بنشر أكتوبر 10, 2014 الأستاذ الفاضل / محمود الشريف أحييك على هذا الشرح الرائع السلس واعانك الله على اكمالة وفى ميزان حسناتك بإذن الله
ابراهيم الحداد قام بنشر أكتوبر 10, 2014 قام بنشر أكتوبر 10, 2014 واصل ابداعاتك اخى الكريم . جمعة مباركة 1
محمود_الشريف قام بنشر أكتوبر 10, 2014 الكاتب قام بنشر أكتوبر 10, 2014 أختنا فى الله الأستاذة القديرة // أم عبد الله بارك الله فيكم على مروركم الكريم وتفاعلكم الجدى مع الموضوع وهذا ليس بجديد عليكم وان شاء الله برفق أمثله على كل درس الأستاذ الكريم // محمد يوسف محمد و الأستاذ الكريم // زيزو العجوز بارك الله فيكم على مروركم الكريم وثناؤكم على الموضوع وتقبلوا منى جميعا وافر الإحترام والتقدير 1
محمود_الشريف قام بنشر أكتوبر 10, 2014 الكاتب قام بنشر أكتوبر 10, 2014 إليكم إخوانى فى الله أمثله على الدروس السابقة ملفين اكسل الأول به تطبيق عملى لما ورد بمثال درس الماكرو مع ربطه بدرس الرسائل ونجد به كود هام خاص بالحلقة التكرارية للرسائل والملف الثانى به بعض الأمثله التوضيحيه على كيفية كتابه الكود الخاص بالرسائل وبه مثال هام على كيفية إظهار مدى أهمية الرساله من جعلها تخير المستخدم من تنفيذ الإجراء المطلوب أو التراجع عنه وايضا هذه الجزئية أرفقتها بالمثال الأول ملحوظة هامه سيتم ان شاء الله تعالى اعداد درس ملحق خاص بالرسائل وهو درس صغير ولكنه بنظرى هام فى كيفية استخدامها فى ادخال بيان أو مثلا كلمه سر لأننى لم أتطرق اليها بالدرس الخاص بها وقد سقطت منى سهوا ولم يلفت نظرى أحد من السادة الأعضاء اليها وتقبلوا منى وافر الإحترام والتقدير أمثله.rar 9
أبــو حبيبـــة قام بنشر أكتوبر 10, 2014 قام بنشر أكتوبر 10, 2014 (معدل) السلام عليكم استاذ / محمود مجهود اكثر من رائع لى استفسار صغير كنت قد اشرت فى باديه الشرح انه لـ ( Excel 2007) أو إصدار أعلى , بالنسبه لـ ( Excel 2003) الا ينفع له هذا الشرح و إن لم ينفع فهل من الممكن ان تخصص دروس لها بعد الانتهاء من هذا الدروس و جزاك الله خيرا تم تعديل أكتوبر 10, 2014 بواسطه أبــو حبيبـــة
محمود_الشريف قام بنشر أكتوبر 10, 2014 الكاتب قام بنشر أكتوبر 10, 2014 أخى فى الله الأستاذ الكريم // ابو حبيبه فيما يختص بالاشارة الى اكسل 2007 فهو قاصر فقط على شكل الأوفيس والأدوات المشار اليها لأنى استخدم بالشرح صورا من اكسل 2007 وما فوق ولكنها موجوده باكسل 2003 ولكن شكلها مختلف فقط اما تفاصيل الدرس الثانى والرابع فهى تشمل كافه الاصدارات وتقبل منى وافر الاحترام والتقدير 2
أبــو حبيبـــة قام بنشر أكتوبر 10, 2014 قام بنشر أكتوبر 10, 2014 استاذ / محمود شكرا لك التوضيح و جزاك الله خيرا على هذا العمل الاكثر من رائع
الردود الموصى بها