فيجوال بيسك من برنامج إكسل- تطبيقات
صفحة 1 من اصل 1
فيجوال بيسك من برنامج إكسل- تطبيقات
VBA………فيجوال بيسك من برنامج إكسل – مقدمة
أوت 17, 2007 بواسطة سامح
أوضحتُ في مقالة سابقة فائدة تعلم فيجوال بيسك للمديرين والمهندسين الصناعيين ومحللي البيانات. أود أن أعطي فكرة مبسطة جدا عن كيفية استخدام فيجوال بيسك من برنامج إكسل حيث أن هذا البرنامج يشيع استخدامه في تحليل البيانات الرقمية.
ملحوظة: هذه المقالة ليست مقالة متخصصة في البرمجة ولكنها توضح المبادئ الأولية لفيجوال بيسك بشيء من التبسيط.
إظهار قائمة أدوات فيجوال بيسك
عند تشغيل برنامج إكسل فربما لا ترى أمامك قائمة أدوات فيجوال بيسك والتي سوف تحتاجها عند استخدامه. لإظهار هذه القائمة فإن عليك أن تقف بالفأرة في أعلى الشاسة أي في مكان قائمات الأدوات ثم تنقر يمينا فترى قائمة بقوائم الأدوات فاختر منها فيجوال بيسك كما بالصورة أدناه
وبالتالي تظهر لك قائمة أدوات فيجوال بيسك
لنستعرض أيقونات هذه القائمة
تشغيل ماكرو: يسمح لك باختيار تشغيل ماكرو (برنامج) فيجوال بيسك
تسجيل ماكرو: يقوم بتسجيل الأشياء التي تقوم بتنفيذها على برنامج إكسل ويقوم بتحويلها إلى ماكرو (برنامج فيجوال بيسك)
تضبيط خصائص الأمن: يوجد ثلاثة مستويات من الأمن فيما يخص تشغيل برامج فيجوال بيسك. المستوى المتوسط يسمح لك باختيار تشغيل برامج فيجوال بيسك الملحقة بالملف أو عدم تشغيلها وهذا يبدو اختيارا مناسبا. الاختيار الاول وهو المستوى العالي في الامن لن يسمح لك بتشغيل أي برامج فيجوال بيسك ملحقة بالملف وبالتالي يمنعك من استخدام فيجوال بيسك إلا بشروط محددة لن نتعرض لها هنا. أما المستوى الأدنى فإنه يقوم بتشغيل أي ماكرو (برنامج فيجوال بيسك) بدون أن يسألك. لاحظ أنه عند تغيير هذا الاختيار فإنك ستحتاج لحفظ الملف ثم غلقه ثم فتحه مرة أخرى لكي يقوم بتطبيق اختيارك الأخير
محرر فيجوال بيسك: هذه الأيقونة تفتح لك محرر فيجوال بيسك الذي ستستخدمه لكتابة برامج فيجوال بيسك وتعديلها
صندوق أدوات التحكم: هذه الأيقونة تسمح لك بوضع أدوات تحكم داخل صفحة إكسل مثل أيقونات، مسطرة منزلقة، مفاتيح اختيار وغير ذلك
تسجيل ماكرو
قم بالضغط على أيقونة تسجيل ماكرو فتظهر لك النافذة التالية. يمكنك تغيير اسم الماكرو والذي يكون مقترحا أن يكون Macro1. عندما تضغط OK فإن أي شيء تقوم بفعله على صفحة إكسل سوف يتم تسجيله على شكل أوامر فيجوال بيسك في هذا الماكرو. على سبيل المثال قم باختيار الخلية D1 وقم يتحويل لون خلفية هذه الخلية لللون الأصفر. لاحظ أن أيقونة تسجيل ماكرو تحولت إلى إيقاف التسجيل أي أنك تضغط عليها عندما تريد إيقاف التسجيل
لاشك أنك متشوق الآن لرؤية خطوات هذا البرنامج الذي سجلته. لكي ترى هذه الخطوات قم بالضغط على أيقونة “تشغيل ماكرو” فتظهر لك النافذة التالية.
Admin و baty يعجبهم هذا الموضوع
رد: فيجوال بيسك من برنامج إكسل- تطبيقات
قم باختيار Edit فيظهر لك محرر فيجوال بيك وبه خطوات هذا الماكرو
يمكنك الآن أن ترى خطوات البرنامج الذي سجلته. كان يمكنك فتح محرر فيجوال بيسك وذلك بالضغط على أيقونة فيجوال بيسك مباشرة.
هل تستطيع فهم خطوات هذا البرنامج؟ لاحظ أن أي سطر مسبوق بالعلامة ‘ فإنه يظهر باللون الأخضر لأنه يكون عبارة عن ملاحظات لا يتم التعرض لها عند تنفيذ البرنامج. هذه الملاحظات تفيد عند تعديل البرنامج في وقت لاحق فقد تقوم بتدوين بعض الملاحظات التي تساعدك على فهم كيفية عمل البرنامج.
الجزء الأيسر في الصورة أعلاه تمكنك من اختيار الماكرو الذي تريد استعراضه وذلك عند وجود أكثر من ماكرو. لاحظ أننا نستعرض Module 1. عند وجود أكثر من ماكرو فقد تجد Module 2, Module3.. وهكذا.
فائدة تسجيل ماكرو هو أنها تساعدك على فهم طريق عمل فيجوال بيسك. يمكنك كذلك تسجيل ماكرو ثم تعديله بدلا من كتابته.
تشغيل ماكرو
إذا كنت في صفحة إكسل فاضغط على أيقونة تشغيل ماكرو ثم اختر الماكرو الذي تريده – حاليا لا يوجد سوى ماكرو واحد فقط- ثم اضغط Run وبالتالي فإن الحاسوب يقوم بتنفيذ هذا الماكرو. لكي تتأكد من عمل الماكرو فقم بتحويل لون الخلية D1 إلى أبيض قبل تشغيل الماكرو لأن الماكرو لا يقوم سوى بتحويل لون الخلية D1 إلى أصفر.
إذا كنت في محرر فيجوال بيسك فقم بالضغط على مفتاح تشغيل الماكرو فيقوم بتشغيل الماكرو.
تعديل الماكرو
كما ذكرت فإن تعديل الماكرو هو وسيلة جيدة. فمثلا يمكننا تغيير السطر التالي
Range(“D1”).Select
إلى
Activecell.Select
هذا التغيير يعني أن البرنامج سيقوم بتغيير لون الخلية المختارة في صفحة إكسل وليس الخلية D1. قم بتجربة هذا التغيير بالوقوف في صفحة إكسل ثم تشغيل الماكرو وستلاحظ انه يغير لون الخلية الحية (الخلية التي تقف عليها). قف على خلية أخرى ثم شغل الماكرو وستجد أن الماكرو يغير لون هذه الخلية.
كتابة ماكرو جديد
من خلال صفحة محرر فيجوال بيسك اختر أيقونة Insert Module كما بالشكل.
فتظهر لك الصفحة على اليمين بيضاء لكتابة الماكرو (البرنامج) ويظهر في القائمة على اليسار أنك في 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).value=Worksheets(“sheet1”).Cells(1,3).value
فإن الخلية 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
هل تستطيع ان تفهم هذا البرنامج. حاول تطبيقه.
باستخدام بعض الأرقام في العامود الثاني نحصل على الناتج التالي
وباستخدام أرقام أخرى نحصل على النواتج التالية
كيف تبحث عن المساعدة
استخدم Help من محرر فيجوال بيسك فهو وسيلة جيدة وستجد بعض الأمثلة والشرح. استخدم كذلك وسائل البحث في الشبكة الدولية وخاصة جوجل و Google groups فهناك الكثير من الأشياء التي ستجدها متاحة في هذا المجال.
هذه بعض المبادئ التي قد تمكنك من بداية استخدام فيجوال بيسك. لكي تتعلم فيجوال بيسك حاول أن تستخدمه رويدا رويدا وتبحث عن ما لاتعرفه وستجد الأمر يسيرا ومفيدا إن شاء الله.
baty يعجبه هذا الموضوع
مواضيع مماثلة
» برنامج الاليستريتور مفعل
» كتاب شرح برنامج الفوتوشوب
» برنامج net framework v4.0.30319
» برنامج الخطط التسويقية
» استخدم برنامج winzip لتصغير حجم الملفات.✔
» كتاب شرح برنامج الفوتوشوب
» برنامج net framework v4.0.30319
» برنامج الخطط التسويقية
» استخدم برنامج winzip لتصغير حجم الملفات.✔
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
تستطيع الرد على المواضيع في هذا المنتدى