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

دروس فى VBA Excel _ نتعلم معا برمجه اكسل


الردود الموصى بها

بسم الله الرحمن الرحيم

 

دروس فى

 

VBA Excel

 

هذه  الدروس نتيجة جهد مستفاد من شروحات وأعمال السادة أساتذة منتديات أوفيسنا

 

أسأل الله عز وجل لهم أن تكون فى ميزان حسناتهم

 

http://www.officena.net/ib/index.php

 

 

الدرس الأول

 

 

قبل أن نبدأ، دعونا نتأكد من أن الأدوات التي نحتاجها موجودة.

إذا كنت تستخدم ( Excel 2007) أو إصدار أعلى

click ". Office button, then click Excel Options بالاسفل

 

 

qK8sMx.jpg

 

lSTbmG.jpg

 

 

سيتم إضافة علامة تبويب جديدة وهى Developer

 

6daY25.jpg

 

 

سوف نحتاج  فى العمل مع التعليمات البرمجية ل VBA ، محرر، يتم تثبيته بشكل افتراضى. يمكنك فتحه عن طريق الضغط على تركيبة مفتاح الاختصار "

  Alt+ F11 ": او انقر على الشكل المشار له بالسهم بالصورة السابقة

 

v0FVdR.jpg

 

انتهى الدرس الأول

مرفق ملف PDF

 

يرجى ان كان هناك أى استفسار يكون فى مضمون الدرس

حتى لا يتم التشتيت 

 

وتقبلوا منى وافر الإحترام والتقدير

الدرس 1VBA Excel.rar

  • Like 18
  • Thanks 1
رابط هذا التعليق
شارك

  • الردود 196
  • Created
  • اخر رد

Top Posters In This Topic

الدرس الثاني

 

تسجيل الماكرو

 

 

 سنقوم بعمل المثال التالى معا للتعرف على تفاصيل خاصة بالكود والماكرو

وأتمنى أن يتم تنفيذه من قبل الدارس أو الراغب فى التعلم

 

المثال

 

-         حذف محتويات الأعمدة A و C

        -         نقل محتويات العمود B  الى العمود A

       -         نقل محتويات العمود D الى العمود C

 

قم بتعبئة محتويات الأعمده السابقة بأيه بيانات

 

قم بالضغط على  "Ok"         " Record Macro"

قم بتنفيذ المطلوب يدويا الى أن تنفذ جميع الخطوات بالترتيب

لأن كل ما تفعله يتم تسجيله من قبل اداه تسجيل الماكرو

ثم إضغط على  Stop Recording

 

الخطوات بالصور لتسهيل تنفيذ المطلوب

 

بعد تعبئة البيانات قم بالضغط على  Record Macro     

 

 

eG1rMF.jpg                

 

 

تظهر لنا نافذة 

 

1 - نقوم بكتابه اسم الماكرو

نلاحظ أن اسم الماكرو لا يحتوى على ايه مسافات

 ومن الممكن أن نضع علامه ( _ ) بين كلمتين لو اردنا تسمية الماكرو بأسم مكون من كلمتين مثلا

2 – نجد ان هناك كلمه Ctrl + وبجوارها مربع

وتعنى أننا يمكن وضع أى حرف داخل هذا المربع ويكون وسيله لإستدعاء الماكرو فيما بعد لتنفيذ المطلوب وهذا امر غير مطلوب حاليا سيتم توضيح ذلك فيما بعد ان شاء الرحمن بالتفصيل

3 – هناك مستطيل به سهم رأسه الى الأسفل

وتعنى اختيار من متعدد وهنا نقوم بإختيار الملف المراد تسجيل به الماكرو فى حاله ان هناك مثلا عدد ( 2 ) ملف اكسل مفتوحين

4 – وهناك مربع آخر وهو الوصف المختصر لهذا الماكرو الذى سيتم تسجيله وحاليا هذا الأمر غير مطلوب

5 – نقوم بالضغط على زر OK

 

 

dnyxxI.jpg

 

بعد الانتهاء من تنفيذ المطلوب بالكامل

نقوم بالضغط على ايقاف التسجيل

كما بالصورة التالية

 

YPDf8k.jpg

 

 

ملحوظة

قد تظهر علامه تسجيل الماكرو بأسفل الشيت نقوم بالضغط عليها لتسجيل الماكرو

 

كما بالصورة 

 

PZhoqX.jpg

 

ثم بعد الانتهاء من تنفيذ المطلوب نقوم بالضغط على ايقاف التسجيل

 

         كما بالصورة

 

mqV9D5.jpg

 

لقد تم تسجيل الماكرو

ونبدأ الآن فى معرفة تفاصيل الكود الذى قمنا بعمل خطواته من خلال عمليه التسجيل ومعرفة بعض الأمور الأساسية والهامه للكود البرمجى

 

للدخول الى الصفحة التى بها الكود البرمجى والذى تم تسجيله تلقائيا فى موديول

نقوم بالضغط على ALT+F11 معا

 

تفتح لنا صفحه تسمى صفحه محرر الأكواد

كما بالصورة

 

3vWiuQ.jpg

 

الملاحظات :

 

1-   يبدأ الكود بكلمه Sub  ثم اسم الماكرو ثم هذين القوسين المغلقين ( )

الكود دائما يبدأ بذلك الأمر وخاصة إذا كان داخل موديول

وهناك أكواد تكتب ولا تسجل عن طريق الماكرو تبدأ بخلاف ذلك وتلك التى توجد داخل حدث الصفحة ( الشيت ) أو داخل حدث الملف

This Workbook

وسيأتى الحديث عن ذلك بالتفصيل فيما بعد ان شاء الرحمن داخل تلك الدروس

 

   2 – هناك داخل الكود علامه ((  ' )) وهى دائما تكون مصبوغة باللون

         الأخضر وتسمى علامه اقتباس أحادية تشير الى تعليق يمكنك كتابته يدويا    

         بأى لغة

الفائدة منها : وهذا التعليق يكون خاص إما بشرح جزء من الكود أو تشير الى تعليمات برمجيه معينه

يتجاهلها الكود تماما أثناء عملية تنفيذ الكود وليس لها اى تأثير مطلق على الكود

 

   3 – ينتهى الكود بجمله End Sub

        وهذه الجمله هامه جدا لإنهاء عمل الكود

4 – يمكننا هنا ونحن داخل الموديول الذى به الكود البرمجى الذى تم تسجيله تلقائيا بناء على أننا قمنا بتنفيذ الخطوات الخاصة بالمثال يدويا

 

·       تغيير اسم الكود الى اى اسم .. اى نقوم بتغيير كلمه Module1 الى اى كلمه أخرى قد تكون معبرة عن طبيعة عمل الكود أو حتى يمكننا وضع اسمنا باللغة الإنجليزية طبعا دون ترك مسافات ويمكننا الاستعانة بوضع تلك العلامه ( _ ) التى تسمى Under Scour

يمكننا التعديل والإضافة داخل الكود البرمجى ايضا فى تغيير اسماء الأعمده والمدى وخلافه أو أى أمر آخر كما يتراء لنا وسيأتى فيما بعد ذكر هذا الأمر فى الدروس القادمة بشىء من التفصيل

 

>>>> يتبع الدرس الثانى >>>>>>

 

 

  

  • Like 7
رابط هذا التعليق
شارك

تابع الدرس الثانى

 

ندخل الى مرحله تنفيذ الماكرو الذى قمنا بتسجيله

 

ولها خطوات معينة كالتالى :

 

نذهب الى الشيت ثم نضغط على Insert

تظهر لنا نافذة نختار منها Button

ثم نقوم بوضعه داخل الشيت

كما بالصور التالية

FbxkzF.jpg

 

 

 

 

iPjBd5.jpg

 

 

ثم نقوم بالضغط على الزر كليك يمين

ونختار تعيين ماكرو كالتالى

 

f83BC5.jpg

 

 

تظهر لنا نافذة

نختر منها اسم الماكرو وهنا قد اسميته MZM_ELSHRIEF

ثم نختار This Workbook

ثم نضغط على OK

 

 

كالتالى

 

Zhjmtj.jpg

 

 

الآن يمكنك تنفيذ الماكرو الذى قمنا بتسجيله

بمجرد الضغط على الزر أى Button

 

 

 

يمكنك أيضا تغيير اسم الزر اذا اردت ذلك كالتالى

بالضغط كليك يمين على الزر

تظهر لك نافذة اختر منها اضافة نص

 

3MxDAX.jpg

 

 

حفظ الملف

 

عند حفظ الملف تظهر لنا رساله كما بالصورة التالية

 

oCnloC.jpg

 

 

نضغط على زر NO

 

فتظهر لنا رساله أخرى كما بالصورة التالية

 

hKdy2R.jpg

 

 

 

نضغط على زر Yes

 

فتظهر لنا نافذة كما بالصورة التالية

 

 

d6o441.jpg

 

 

نقوم بإختيار من Save as type

 

Excel Macro-Enbled Workbook

 

ثم نضغط على Save

 

الخيار التالى كما بالصورة التالية

 

JsIF7U.jpg

 

 

فتكون أيقونه الملف كما بالصورة التالية

 

IY3F7x.jpg

 

انتهى الدرس الثانى

 

مرفق ملف PDF

به كامل الدرس الثانى

 

يرجى فى حاله هناك استفسار أن يكون فى مضمون الدرس

حتى لا يتم التشتيت

 

وتقبلوا منى وافر الاحترام والتقدير

 

 

 

 

الدرس 2.rar

  • Like 14
  • Thanks 1
رابط هذا التعليق
شارك

استاذى محمود الشريف 

ادام الله عليك نعمه العلم والعطاء

وفقك الله الى ما فيه الخير للعباد

فكره رائعة وفى انتظار المزيد

وتقبل احترامى وتحياتى

  • Like 2
رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته

الاخ والاستاذ محمود الشريف جزاكم الله خيرا

جهد كبير واهتمام اكبر لنشر العلم والمعلومة التي يحتاجها اغلب الاخوة الاعضاء

جعل الله عملكم هذا وجميع اعمالكم في ميزان حسناتكم

تقبلوا فائق الاحترام والتقدير

  • Like 1
رابط هذا التعليق
شارك

بسم الله ما شاء الله تبارك الله

شرح أكثر من رائع وأسلوب متميز

نتمنى الاستمرار في هذه السلسلة الممتعة

أسأل الله عزوجل أن يجعل أعمالك في ميزان حسناتك يوم القيامة وأن ينفع بك المسلمين

  • Like 1
رابط هذا التعليق
شارك

جزيت عنا كل خير

رابط هذا التعليق
شارك

بارك الله فيك اخى . بصراحة اسلوب الشرح يعتبر من افضل الشروحات التى رأيتها فى هذا المنتدى

نرجو الاستمرارية لتلك الدروس الرائعة

كما نرجو من الادارة تثبيت الموضوع . ولكم جزيل الشكر

  • Like 2
رابط هذا التعليق
شارك

إخوانى فى الله 

 

الأستاذ الكريم //  عماد أبو خلف

الأستاذ الكريم // محمد الريفى

الأستاذ الكريم  // أبو بهاء المصرى

الأستاذ الكريم // حسام عيسى

الأستاذ القدير // أبو محمد عباس

الأستاذ الكريم // محمد الخازمى

الأستاذ القدير // ياسر خليل

الأستاذ الكريم // أبو صلاح

الأستاذ الكريم // محمود على محمود

الأستاذ الكريم // زيزو العجوز

 

بارك الله فيكم على مروركم الكريم وثناؤكم على الموضوع

 

وتقبلوا منى وافر الإحترام والتقدير

  • Like 1
رابط هذا التعليق
شارك

الدرس الثالث

 

إعدادات الأمان

 

 

 

لغة VBA هي لغة برمجة

وهذا يعنى أنه يمكن لبعض المبرمجين  أن يستغلها استغلالا سيئا فى إنشاء برامج ضاره تضر بالحاسب الآلى الذى يستخدم هذا البرنامج

وعليه قررت شركة مايكروسوفت إضافة خاصية الأمان لحماية المستخدم

 

وللدخول إلى خيارات الأمان نتبع الخطوات التالية :

 

 

بأوفيس 2007 وما فوق

نضغط على زر برنامج الأوفيس كما بالصورة 

dm19wj.jpg

 

ثم نضغط على Excel Option تظهر لنا نافذة كما بالصورة

 

KjvFBx.jpg

 

ثم نختار

  Trust Center 

من القائمة تظهر لنا نافذة أخرى كما بالصورة

 

3W8jJ6.jpg

 

ثم نضغط على 

Trust Center Settings

 

تظهر لنا نافذة  كما بالصورة 

 

L55jD7.jpg

 

نجد هنا قسمين بالنافذة الأعلى ( الصورة السابقة )

الجزء الأول به عدد ( 4 ) اختيارات

ومعناهم كالتالى :

 

rLSgt7.jpg

 

اختيار الخيار الثانى او الثالث

عندما يقوم المستخدم بفتح البرنامج تظهر نافذة الاكسيل كما بالصورة التالية

 

0phfd0.jpg

 

وبالضغط على زر Options

 

تظهر لنا نافذة كما بالصورة التالية

 

CSDiRq.jpg

 

فإن كنا نثق بالبرنامج والمصدر نضغط على الخيار الثانى وهو

 

Enable this content

ونضغط على OK

 

مرفق  ملف به كامل الدرس الثالث

 

وتقبلوا منى وافر الاحترام والتقدير

 

 

الدرس 3.rar

  • Like 5
رابط هذا التعليق
شارك

الدرس الرابع

 

الرسائل 

 

muA4mJ.jpg

 

نتحدث هنا عن استخدام بعض التقنيات التى تجعل استخدامنا للماكرو _ ( برمجه اكسل ) _ أكثر مرونه .. وذات طابع احترافى وأكثر جمالا

وذلك من خلال استخدام الرسائل من خلال كتابة بعض الأكواد البسيطه

السؤال ؟

أين تكتب تلك الأكواد ؟

تكتب تلك الأكواد داخل حدث الشيت

تكتب داخل حدث المصنف

تكتب داخل موديول

تكتب داخل أكواد اليوزر فورم

 

أى تكتب حسب الحاجه لها على أن تكون داله على الهدف منها سواء كان تحذير من شىء أو طرح سؤال بسيط

 

مثال ( 1 )

نريد أن نتأكد من أن الطابعه فى وضع التشغيل وإعطاء المستخدم فرصة للتأكد من ذلك مع توقف الماكرو عن العمل الى أن يقرر المستخدم الضغط على زر موافق أو OK

 

التالى نص الرساله التى ستظهر

كما بالصورة

MsgBox “Please make sure that the printer is switched on”

 

M7WfRZ.jpg

 

جدير بالذكر

عند الملاحظة الأولى لشكل الرساله كما بالصورة السابقة

نجد نص الرساله

ثم زر OK

 

اذا الإستنتاج هنا يدفعنا الى ذكر سؤال هام لمعرفة كيفية ظهورها بهذا الشكل

 

س : مما تتكون الرساله ؟ وكيف تكتب ؟

 

ج : تتكون الرساله من هذه التركيبة التالية

MsgBox (prompt [, buttons] [, title] [, helpfile, context])

السؤال الذى يطرح نفسه هنا

 

س : ماذا تعنى هذه التركيبة ؟

 

ج : كالتالى

كلمة Prompt  تعنى ان تكون الرساله سريعه أى عند حدوث أمر ما تظهر الرساله سريعا 

 

ptzX2Z.jpg

 

هناك أيضا أمور يجب ذكرها :

1 - طول الرساله يتكون من 1024 حرف

2 - واذا كانت الرساله تتكون من عده أسطر يجب الفصل بين كل سطر بعلامه  (& _ )

 

3 – هناك معيار هام فى الرسائل عندما مثلا تريد تحذير المستخدم الى ان الطابعه تعمل مع التأكيد على ذلك بزر OK

هنا نستخدم الفواصل وهو امر ضرورى كمثل الرساله التالية

 

MsgBox “Is the printer on?”, , “Caution!”

 

وكما الصورة 

zePk8Y.jpg

 

نأتى الى القيم الرقمية

 

التى سبق الإشارة عنها

 

htZxbr.jpg

 

وبشىء من التفصيل

 

P8suZ4.jpg

 

PAOlsA.jpg

 

qSGkRE.jpg

 

K6hy2K.jpg

 

فمثلا إذا كنت تريد القيمة 4 والقيمة 32

 

يكون النص الذى يكتب فى الكود هكذا

 

MsgBox Prompt:=”Delete this record?”, Buttons:=36

 

وتظهر الرساله كما بالصورة التالية

 

teATer.jpg

 

أو يكتب النص هكذا

MsgBox (Prompt:=”Delete this record?”, Buttons:=vbYesNo + vbQuestion)

وإذا أردنا كتابة الرسالة بالترتيب الخاص بها كما ذكرنا بكيفية كتابة الرساله فتكون هكذا

MsgBox("Text", vbYesNoCancel + vbExclamation + vbDefaultButton2, "Title")

فتظهر الرساله كما بالصورة التالية

 

MKTjGb.jpg

 

هنا السؤال يطرح نفسه

 

هل يمكن كتابة كل هذه الأزرار فى الرساله ؟

 

الإجابة بالقطع ((  لا  ))

 

·      فمجموعة القيم من ( 1:5 ) تمثل الأزرار التى ستظهر فى الرساله وعلى حسب ما تريد وتختار

 

·      ومجموعة القيم ( 16,32,48,64 ) تمثل نوع الرساله من كونها استفهام أو تعجب .. الخ وعلى حسب ما تختار

 

·      ومجموعة القيم ( 0,256,512,768 ) تعنى أى الأزرار

YES       أو NO أو CANCEL تريدها أن تكون الإفتراضية  

      للمستخدم أى المضيئة

 

يمكن التعبير عن الرساله فى الكود بالقيمة مثل

وتظهر الرساله كما بالصورة السابقة

MsgBox("Text", 3 + 48 + 256, "Title")

مرفق ملف به كامل الدرس الرابع

وتقبلوا منى وافر الاحترام والتقدير

الدرس 4.rar

  • Like 9
رابط هذا التعليق
شارك

الأستاذ الفاضل / محمود الشريف

 

السلام عليكم ورحمة الله وبركاته

 

جزاك الله خيراً على هذا الشرح الرائع . جعله الله في ميزان حسناتك ونرجو الاستمرار في هذه السلسلة المفيدة جداً والتعمق في الأكواد المركبة بعد ذلك وطريقة حضرتك في طرح السؤال والاجابة عليها ممتازة جداً ويتبقى طرح سؤال في كل درس للتطبيق العملي من جهة المتعلم لكي تعم الفائدة وتكون الإجابة على هذه الأسئلة أخر الأسبوع أو أول كل درس جديد كما يسمح وقت حضرتك. رجاء آخر من أساتذتي الكرام التعقيب إن لزم الأمر  بطرق أخرى إن وجدت. جعله الله في ميزان حسناتكم وزادكم الله من فضله وعلمه. لكم كل التحية والتقدير.

تم تعديل بواسطه أم عبد الله
  • Like 1
رابط هذا التعليق
شارك

أختنا فى الله 

 

الأستاذة القديرة // أم عبد الله

بارك الله فيكم على مروركم الكريم 

وتفاعلكم الجدى مع الموضوع وهذا ليس بجديد عليكم

وان شاء الله برفق أمثله على كل درس 

 

الأستاذ الكريم // محمد يوسف محمد

و

الأستاذ الكريم // زيزو العجوز

 

بارك الله فيكم على مروركم الكريم وثناؤكم على الموضوع

 

وتقبلوا منى جميعا وافر الإحترام والتقدير

  • Like 1
رابط هذا التعليق
شارك

إليكم إخوانى فى الله

أمثله على الدروس السابقة

ملفين اكسل

الأول به تطبيق عملى لما ورد بمثال درس الماكرو

مع ربطه بدرس الرسائل 

ونجد به كود هام خاص بالحلقة التكرارية للرسائل

 

والملف الثانى 

به بعض الأمثله التوضيحيه على كيفية كتابه الكود الخاص بالرسائل

وبه مثال هام على كيفية إظهار مدى أهمية الرساله

من جعلها تخير المستخدم من تنفيذ الإجراء المطلوب أو التراجع عنه

وايضا هذه الجزئية أرفقتها بالمثال الأول

 

ملحوظة هامه

سيتم ان شاء الله تعالى

اعداد درس ملحق خاص بالرسائل

وهو درس صغير ولكنه بنظرى هام 

فى كيفية استخدامها فى ادخال بيان أو مثلا كلمه سر 

لأننى لم أتطرق اليها بالدرس الخاص بها

وقد سقطت منى سهوا

ولم يلفت نظرى أحد من السادة الأعضاء اليها

 

 

وتقبلوا منى وافر الإحترام والتقدير

أمثله.rar

  • Like 9
رابط هذا التعليق
شارك

السلام عليكم استاذ / محمود

مجهود اكثر من رائع

لى استفسار صغير كنت قد اشرت فى باديه الشرح انه لـ ( Excel 2007) أو إصدار أعلى , بالنسبه لـ ( Excel 2003)  الا ينفع له هذا الشرح و إن لم ينفع فهل من الممكن ان تخصص دروس لها بعد الانتهاء من هذا الدروس

و جزاك الله خيرا

تم تعديل بواسطه أبــو حبيبـــة
رابط هذا التعليق
شارك

أخى فى الله

الأستاذ الكريم // ابو حبيبه

 

فيما يختص بالاشارة الى اكسل 2007 فهو قاصر فقط على شكل الأوفيس والأدوات المشار اليها

لأنى استخدم بالشرح صورا من اكسل 2007 وما فوق

 

ولكنها موجوده باكسل 2003 ولكن شكلها مختلف فقط

اما تفاصيل الدرس الثانى والرابع فهى تشمل كافه الاصدارات

 

وتقبل منى وافر الاحترام والتقدير

  • Like 2
رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه



×
×
  • اضف...

Important Information