فيجوال بيسك من برنامج إكسل - مقدمة

 أوضحتُ في مقالة سابقة فائدة تعلم فيجوال بيسك للمديرين والمهندسين الصناعيين ومحللي البيانات. أود أن أعطي فكرة مبسطة جدا عن كيفية استخدام فيجوال بيسك من برنامج إكسل حيث أن هذا البرنامج يشيع استخدامه في تحليل البيانات الرقمية.

ملحوظة: هذه المقالة ليست مقالة متخصصة في البرمجة ولكنها توضح المبادئ الأولية لفيجوال بيسك بشيء من التبسيط.

إظهار قائمة أدوات فيجوال بيسك

عند تشغيل برنامج إكسل فربما لا ترى أمامك قائمة أدوات فيجوال بيسك والتي سوف تحتاجها عند استخدامه. لإظهار هذه القائمة فإن عليك أن تقف بالفأرة في أعلى الشاسة أي في مكان قائمات الأدوات ثم تنقر يمينا فترى قائمة بقوائم الأدوات فاختر منها فيجوال بيسك كما بالصورة أدناه

 vbex5.jpg

وبالتالي تظهر لك قائمة أدوات فيجوال بيسك

vbex6.jpg

 لنستعرض أيقونات هذه القائمة

 vbex7.jpg

 تشغيل ماكرو: يسمح لك باختيار تشغيل ماكرو (برنامج) فيجوال بيسك

تسجيل ماكرو: يقوم بتسجيل الأشياء التي تقوم بتنفيذها على برنامج إكسل ويقوم بتحويلها إلى ماكرو  (برنامج فيجوال بيسك)

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

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

صندوق أدوات التحكم: هذه الأيقونة تسمح لك بوضع أدوات تحكم داخل صفحة إكسل مثل أيقونات، مسطرة منزلقة، مفاتيح اختيار وغير ذلك

تسجيل ماكرو

قم بالضغط على أيقونة تسجيل ماكرو فتظهر لك النافذة التالية. يمكنك تغيير اسم الماكرو والذي يكون مقترحا أن يكون Macro1. عندما تضغط OK فإن أي شيء تقوم بفعله على صفحة إكسل سوف يتم تسجيله على شكل أوامر فيجوال بيسك في هذا الماكرو. على سبيل المثال قم باختيار الخلية D1 وقم يتحويل لون خلفية هذه الخلية لللون الأصفر. لاحظ أن أيقونة تسجيل ماكرو تحولت إلى إيقاف التسجيل أي أنك تضغط عليها عندما تريد إيقاف التسجيل

vbex8.jpg

لاشك أنك متشوق الآن لرؤية خطوات هذا البرنامج الذي سجلته. لكي ترى هذه الخطوات قم بالضغط على أيقونة “تشغيل ماكرو” فتظهر لك النافذة التالية.

 vbex9.jpg

  قم باختيار Edit فيظهر لك محرر فيجوال بيك وبه خطوات هذا الماكرو

 vbex10.jpg

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

هل تستطيع فهم خطوات هذا البرنامج؟ لاحظ أن أي سطر مسبوق بالعلامة ‘  فإنه يظهر باللون الأخضر لأنه يكون عبارة عن ملاحظات لا يتم التعرض لها عند تنفيذ البرنامج. هذه الملاحظات تفيد عند تعديل البرنامج في وقت لاحق فقد تقوم بتدوين بعض الملاحظات التي تساعدك على فهم كيفية عمل البرنامج.

الجزء الأيسر في الصورة أعلاه تمكنك من اختيار الماكرو الذي تريد استعراضه وذلك عند وجود أكثر من ماكرو. لاحظ أننا نستعرض Module 1. عند وجود أكثر من ماكرو فقد تجد Module 2, Module3.. وهكذا.

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

تشغيل ماكرو

إذا كنت في صفحة إكسل فاضغط على أيقونة تشغيل ماكرو ثم اختر الماكرو الذي تريده - حاليا لا يوجد سوى ماكرو واحد فقط- ثم اضغط Run وبالتالي فإن الحاسوب يقوم بتنفيذ هذا الماكرو. لكي تتأكد من عمل الماكرو فقم بتحويل لون الخلية D1 إلى أبيض قبل تشغيل الماكرو لأن الماكرو لا يقوم سوى بتحويل لون الخلية D1 إلى أصفر.

إذا كنت في محرر فيجوال بيسك فقم بالضغط على مفتاح تشغيل الماكرو فيقوم بتشغيل الماكرو.

تعديل الماكرو

كما ذكرت فإن تعديل الماكرو هو وسيلة جيدة. فمثلا يمكننا تغيير السطر التالي

   Range(”D1″).Select

إلى

   Activecell.Select

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

كتابة ماكرو جديد

من خلال صفحة محرر فيجوال بيسك اختر أيقونة Insert Module كما بالشكل.

 vbex11.jpg

فتظهر لك الصفحة على اليمين بيضاء لكتابة الماكرو (البرنامج) ويظهر في القائمة على اليسار أنك في Module2.

لكتابة الماكرو لابد أن تبدأ السطر الأول ب Sub متبوعة بفراغ ثم اسم لهذا الماكرو ثم اضغط Enter. فمثلا لو اخترت اسماً مثل Trial فإنك الماكرو سيبدو كالتالي

 Sub trial()

End Sub

هذا ماكرو يمكن تشغيله ولكنه لن يقوم باي شيء لأننا لم نكتب سوى اسمه. لاحظ أن السطر الثاني هو آخر سطر في الماكرو فهو الذي يتعرف منه الحاسوب على نهاية الماكرو أو البرنامج.

افترض أننا نريد حساب حاصل قسمة 1000 على 25. اكتب السطر التالي بين بداية ونهاية الماكرو

 x=1000/25

 وافترض أنك تريد عرض الناتج في الخلية A1. اكتب السطر التالي لكي تعرض النتيجة

 Worksheets(”Sheet1″).cells(1,1).value=x

 أي ان الماكرو سيبدو هكذا

Sub first()
x = 1000 / 25
Worksheets(”sheet1″).Cells(1, 1).Value = x
End Sub

الآن قم بتشغيل الماكرو. يجب أن تجد حاصل القسمة وهو 40 في الخلية A1. لكي ترى النتيجة فإن عليك تفعيل صفحة إكسل أي اختيارها بدلا من محرر فيجوال بيسك.

ماذا تعني X؟ إن X هي مجرد متغير ياخذ قيمة حاصل القسمة. استخدام المتغيرات أمر يُستخدم كثيرا في البرمجة

كيف نقوم بتعريف قيمة خلية من صفحة إكسل

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

Worksheet(”اسم الصفحة”).Cells(رقم العامود, رقم الصف).value

هذه الطريقة تشير إلى خلية محددة عن طرق اسم الصفحة ورقم الصف ورقم العامود. لاحظ أن رقم العامود في صفحة إكسل يكون معرفا بالحروف وعليك تحويل ذلك لرقم فمثلا العامود C يكون رقم 3 والعامود H يكون رقم 8 وهكذا.

فلو كتبت

Worksheets(”sheet1″).Cells(2,2).vlaue=2

 فإن معنى هذا أن الخلية B2 في الصفحة Sheet1 تأخذ القيمة 2

ولو كتبت

x= Worksheets(”sheet1″).Cells(2,2).vlaue 

فإن المتغير X يأخذ نفس قيمة الخلية B2 في الصفحة Sheet1

ولو كتبت

Worksheets(”sheet2″).Cells(2,2).vlaue=Worksheets(”sheet1″).Cells(1,3).vlaue

فإن الخلية B2 في الصفحة sheet2 تأخذ نفس قيمة الخلية C1 ف الصفحة Sheet1

تكرار مجموعة من الخطوات

لتكرير مجموعة من الخطوات استخدم ما يسمى بـ For…..Next كالآتي

For i=1 to 10
مجموعة من الخطوات…….
Next i

الخطوات (الأوامر) المكتوبة بين For و Next سيتم تكريرها عشر مرات.

مثال

 Sub abc ()
For i=1 to 25
x= Worksheets(”sheet1″).Cells(i,2).value 
Worksheets(”sheet1″).Cells(i,3).value= x+i
Next i
End Sub

هذا الماكرو يقوم قيمة الخلايا في العامود C من الصف الاول إلى 25 بحيث تساوي قيمة الخلية التي بجوارها في العامود الثاني مضافا إليها رقم الصف فمثلا الخلية C5 تكون قيمتها مساوية لقيمة الخلية B5 مضافاَ إليها 5.

كيف يمكن التحكم في البرنامج بناء على قيمة متغير أو خلية

استخدم If …..Then بمعنى إذا حدث كذا فافعل كذا. فمثلاً

If x>5 then y=1

تعني أنه إذا كانت قيمة المتغير x>5 فإن المتغير Y تأخذ القيمة 1. ويمكن استخدامه بشكل أكثر تفصيلا كالآتي

If x>5 then
  y=1
else
y=0
End If

بمعنى أن Y ستأخذ القيمة صفر إذا لم تكن X>5. لاحظ ان else تعني “وإلا” أي أن التركيبة تعني “إذا كان كذا فافعل كذا، وإلا فافعل كذا”. لاحظ أننا في هذه الحالة نحتاج للسطر الأخير لنهاية الجملة أي End If

مثال:

 Sub abc ()
For i=1 to 25
x= Worksheets(”sheet1″).Cells(i,2).value
if x>5 then
Worksheets(”sheet1″).Cells(i,3).value= x+i
Else
Worksheets(”sheet1″).Cells(i,3).value=0
End if
Next i
End Sub

هل تستطيع ان تفهم هذا البرنامج. حاول تطبيقه.

 باستخدام بعض الأرقام في العامود الثاني نحصل على الناتج التالي

vbex12.jpg

وباستخدام أرقام أخرى نحصل على النواتج التالية

vbex13.jpg

كيف تبحث عن المساعدة

استخدم Help  من محرر فيجوال بيسك فهو وسيلة جيدة وستجد بعض الأمثلة والشرح. استخدم كذلك وسائل البحث في الشبكة الدولية وخاصة جوجل و Google groups فهناك الكثير من الأشياء التي ستجدها متاحة في هذا المجال.

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

يمكنك تنزيل ملف إكسل به بعض ما تم شرحه من برامج من هذا الرابط
رابط الملف

موضوعات ذات صلة في هذا الموقع:
فائدة تعلم فيجوال بيسك للمهندسين الصناعيين والمديرين وغيرهم
فيجوال بيسك من إكسل - تطبيقات
فيجوال بيسك / إكسل - تطبيقات متقدمة

 

 

 

 

22 تعليق »

  1. Housam قال,

    أغسطس 22, 2007 @ 8:02 ص

    أريد أن أشكرك جزيل الشكر، فبعد قرائتي لمقالتك السابقة عن فائدة تعلم فيجوال بيسك للمديرين والمهندسين الصناعيين ومحللي البيانات. بدأت بسؤال المختصين عن طريقة تعلم هذه اللغة، ربما أعرف الآن من أين أبدأ.

    شكراً

  2. khaled al malki قال,

    أغسطس 26, 2007 @ 10:31 ص

    شكرا جزيلا

  3. shamsi قال,

    سبتمبر 10, 2007 @ 2:57 م

    الله يعطيكم العافية .

  4. احمد عيد السيد قال,

    سبتمبر 20, 2007 @ 9:44 ص

    الهم انافع الامه الاسلاميه بهذه العلم

  5. مناف قال,

    أكتوبر 10, 2007 @ 10:02 ص

    بارك الله فيك

  6. mohamed قال,

    أكتوبر 16, 2007 @ 9:22 ص

    جزاك الله كل خير على هذا المجهود الرائع

  7. منير قال,

    نوفمبر 19, 2007 @ 12:37 م

    لك مني كل الشكر …
    بس يا ريت معلومات أوسع عن هذا الموضوع لم تسمح..
    والله يجازيك لو تكرمت لي بموقع له صلة .. معك الإيميل.
    شكراااااااااااااااااااااااااااااااااااااااااااااااااااااااا.

  8. سامح قال,

    نوفمبر 21, 2007 @ 2:48 ص

    لأستاذ منير

    هل اطلعت على المقالات الأخرى المشار إليها في نهاية المقالة؟

    بالنسبة للمواقع العربية فيمكنك الرجوع إلى
    http://www.khayma.com/learnvb/
    http://www.vb4arab.com/vb/

    بالنسبة للمواقع الإنجليزية فيوجد عدد كبير جدا من المواقع ويمكنك استخدام جوجل للبحث عن ما تريد تحديدا

    وإن شاء الله ربما أضفت مقالة او مقالتين في الموضوع

    شكرا

  9. اكرامى يونس قال,

    نوفمبر 21, 2007 @ 11:41 م

    خيركم من تعلم العلم وعلمه
    جزاك الله خيرآ

  10. Khaled Kamal قال,

    ديسمبر 3, 2007 @ 1:45 م

    thanks very much for your kind effort and information , it is very helpfull.
    Warm regards.

  11. MUNA قال,

    ديسمبر 13, 2007 @ 11:06 ص

    ,والله العظيم مبااااااااااااااااااااااااااالغة دى معلومات رهيبة جدا جدا
    ما تتخيل يا استاذ يا فاضل انت افدتنى كيف و الله ما شاء الله الله يزيدك علم كمان وكمان
    طبعا انا درست هندسة صناعية(هندسة وتكنولوجيا تصنيع البلاستيك) وما كان عندى اى فهم ادارى بس الان وبعد ما اتطلعت على مدوناتك الرااائعة حاسة انى ممكن ادير مصنع لوحدى
    شكرا شكرا شكرا
    والله يديك العافية

  12. سامح قال,

    ديسمبر 13, 2007 @ 3:31 م

    الاستاذة منى

    شكرا على زيارتك وعلى تشجيعك

    شكرا

  13. محمد خير قال,

    يناير 6, 2008 @ 4:53 م

    شكرا لك

  14. محمد سكيك قال,

    مارس 11, 2008 @ 2:50 م

    ممتاز بس اريد التوسع مع فيجيوال بيسك وعرض التقارير من فيجيوال بيسك داخل شيت اكسيل

  15. سامح قال,

    مارس 12, 2008 @ 7:28 ص

    الأستاذ محمد سكيك

    أظن أنه ينبغي أن أكتب بعض المقالات المتقدمة في الموضوع. إن شاء الله أفعل ذلك ولكن ربما بعد بضعة أسابيع لأنني حاليا أكتب في موضوع نظام تويوتا الإنتاجي.

    في الحقيقة فإن مثل هذه التعليقات تفيدني كثيرا في تحديد الموضوعات التي ينبغي أن أكتب فيها.

    شكرا

  16. التعليمات كامله لأستخدام برنامج الأكسل قال,

    مايو 24, 2008 @ 11:56 م

    شكرررررررررررررررررررأ

  17. mahmod قال,

    مايو 28, 2008 @ 8:59 م

    بصراحه اشكركم جدا على هذا البرنامج الاكثر من رائع ووفككم الله والسلام عليكم

  18. خالد قال,

    يونيو 8, 2008 @ 11:54 ص

    السلام عليكم

    اخوي الف شكر لك على المعلومات القيمة التي نستفيذ منها في عملنا وسهلة علينا الكثير
    وجزاك الله خير

    اخوي عندي استفسار
    انا طبقت الي قلته في الدرس ولكن لم يشتغل معاي يعطيني عدة اوامر غلط
    هل من الممكن تكرما منك اعطائي كيفية التشغيل ولو كان بالصور ليسهل علينا كثيرا لانة كتبة البرنامج ولما اتي لكي اشغل الفيجوال بيسك يظهر خطاء اعدله يظهر عدة اخطاء ولااعرف كيفية تشغيله

    وشكرا لك

  19. سامح قال,

    يونيو 8, 2008 @ 12:05 م

    الأستاذ خالد

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

    جرب أن تنزل الملف من الرابط التالي

    http://www.box.net/shared/9n6iif2yoo

    رجاء أخبرني إذا لم يعمل

    شكرا

  20. خالد قال,

    يونيو 9, 2008 @ 7:54 ص

    شكرا لك

    الملف يعمل

    جزاك الله خير

  21. mario2008 قال,

    يونيو 12, 2008 @ 11:08 ص

    كيف يتم تعريب النص عند استخدام الدالة (babttext)

  22. سامح قال,

    يونيو 12, 2008 @ 11:55 م

    الأستاذ mario2008

    لا أعرف هذه الدالة

    شكرا

RSS feed for comments on this post · عنوان التتبع

أترك تعليقا