المقدمة
يتميز برنامج EXCEL بالواجهة الرسومية شانه شأن كافة البرامج التي تعمل تحت نظام التشغيل Windows وهذه الواجهة الرسومية تخفى خلفها الأوامر التي يتم تصديرها للحاسب والتي تكون عادة مكتوبة بلغة من لغات الحاسب التي تعتمد على ما يسمى بالبرمجة الحديثة ( أو البرمجة الموجهة بالأحداث ) Events Programming.
تعتمد على حدوث حدث بواسطة المستخدم – مثل الضغط بزر الماوس على زر تخيلي على الشاشة وبناء على هذا الحدث يتم تنفيذ مجموعة من الأوامر كما هو الحال في وحدات الماكرو التي سنتطرق لها بشكل تفصيلي فيما بعد .
والواقع ان هذه الأزرار تخفى خلفها التعليمات التي تعطى للحاسب ، من خلال لغة الـ Visual Basic
حيث يتم كتابتها بطريقة محددة وفقا لقواعد اللغة وكل مجموعة من هذه التعليمات تسمى الاكواد Codes وكل إجراء يرتبط تنفيذه بحدث معين يحدث من الأكواد او التعليمات تسمى إجراء Procedure من قبل المستخدم مثل الضغط بزر الماوس الأيمن او الأيسر على زر او تحريك الماوس او فتح كائن أو إغلاقه .
وتعتبر وحدات الماكرو احد الأدوات المستخدمة بواسطة Excel لكى يقوم المستخدم بتخزين مجموعة من التعليمات او الاكواد وتنفيذها من خلال حدث معين دون الحاجة إلى كتابة هذه التعليمات بنفسه بواسطة لغة Visual Basic ودون الحاجة الى تعلم قواعدها.
ونتناول في هذا الكتاب كيفية التعامل مع أوامر لغة Visual Basic من خلال برنامج Excel وذلك بهدف التعرف على كيفية تصميم برامج تطبيقية قوية باستخدام Excel تتمتع بخواص وإمكانيات متقدمة يسهل من خلالها إدخال البيانات والتعامل معها .
و ما نحن بصدد الكلام عنه في هذا الكتاب ليس لغة البيسيك نفسها و لكن لغة البيسيك للتطبيقات Visual
Basic For Applications وتختصر لـ VBA .
استخدام ال VBA في الاكسل يعتبر اضافة مذهلة قد لا يتصورها المستخدم العادي و الذي سيتحول بعد فترة من استخدام ال VBA من مستخدم للبرنامج الي مطور برامج باستخدام الاكسيل ( و هو ما ليس متعارف عليه ) .
و مع اتقان استخدام ال VBA في الاكسل سيكون من السهل استخدامها في باقي التطبيقات مثل الوورد و الباوربوينت كل علي حسب الأشياء Objects المجودة بداخله.
تنويه هام
هناك خلط بين وحدات الماكرو والـ VBA نظرا للتشابه الكبير فيما بينهم ، وسنتطرق في هذا الكتاب عن كيفية تسجيل الماكرو وكيفية التعديل عليه وستكتشف أن به قصور ولا يمكنك الاعتماد عليه بشكل كامل في تنفيذ العديد من الأوامر حيث سيكون وقت تنفيذ الكود أطول مما هو متوقع ، ولكن تسجيل الماكرو مطلوب بالنسبة للمبتدئين ولمعرفة بعض الحالات لكيفية كتابة الكود البرمجي وهذا أيضا ما سنكتشفه وسنتعلمه من خلال هذا الكتاب .
أما الـ VBA الذى يستمد قواعده وأسسه وقوته من الـ VB6 تحديدا تستطيع من خلاله تنفيذ العديد من الأوامر وحتى ستكتشف ان الكود ليس مطولا ( طويل كعدد أسطر ) مثل ما ستجده بالماكرو ، ويأخذ وقتا قصيرا جدا غير ملحوظ في العديد من الأكواد البرمجية ، وحتى ان وجدت قصورا في الـ VBA فبإمكانك التعويض عن ذلك باستخدام الـ UDF أي تصميم دوال برمجية خاصة بك وهذا غير متاح في وحدات الماكرو .
ما الفرق بين VB و VBA ؟
الـ VB يتعامل مباشرة مع نظام التشغيل الـ Windows.
الـ VBA يتعامل أولا مع التطبيق الـ Application سواء كان اكسل أو أكسيس أو ..الخ ثم من خلال التطبيق يتم التعامل مع نظام التشغيل .
فاستخدام ال VBA في كل تطبيق يعتمد علي ال Object Module الخاص به، فعلي سبيل المثال في الاكسل الـ Objects مثل ال Worksheet لا تتواجد في التطبيقات الأخرى و لذلك سيوجد اختلاف في التطبيق و لكن المفهوم سيظل و احداَ .
يجب أن تعلم أن هناك اختصارين ستقابلهم كثيرا أثناء رحلة التعلم وهما : VBA ، VBE
الـ VBA كما سبق الحديث عنها هي اللغة البرمجية التي سوف تتعلمها .
الـ VBE هو محرر الأكواد اختصارا لجملة Visual Basic Editor وهو المكان الذى ستقوم بكتابة الأكواد البرمجية داخله .
لماذا أتعلم الـ VBA ؟
لعدة أسباب منها على سبيل الحصر :
- اختصار العمليات المتكررة .
- إذا كان هناك نمط لعملك والذي يمكن اعتباره طويلاً ومتكررًا ، فإن استخدام الـ VBA سيسرع من عملية معالجة مهامك في Excel.
- اجراء المهام الصعبة .
- إذا كانت مهمتك عبارة عن إجراء مطول قد يؤدي إلى خطأ المستخدم ، فسيكون ذلك سببًا آخر جيدًا لاستخدام الماكرو.
- في معظم الحالات ، ستكون وحدات الماكرو التفاعلية هي المفتاح هنا (والتي لا يمكن تسجيلها بالطبع) مما يساعد المستخدم على التدفق من خلال عمليات اتخاذ القرار المتعددة.
- الوصول بدقة الى النتائج المرغوبة اثناء التعامل مع كميات كبيرة من البيانات في أقل وقت .
- إنجاز العمليات الحسابية الغير متعارف عليها داخل الاكسل ، فمن خلال الـ VBA يمكنك انشاء دالات خاصة بك تسهل القيام بهذه العمليات الحسابية .
- تسهل العديد من العمليات كالتنسيقات والدمج وحذف البيانات ونقل البيانات و الرسوم البيانية .
- حماية البيانات من أخطاء المستخدم .
بخلاف ما ذكرناه بالنقطة السابقة مباشرة ، توجد أمور أخري ستعود عليك بالنفع فيما بعد فعلي سبيل المثال :
- يمكنك أن تصنع ملف متكامل برمجي بالاشتراك مع العديد من الأصدقاء أو الراغبين في التعاون من خلال برامج خاصة يتم ربطها مع مواقع متخصصة ذا مساحات تخزينية ضخمة مثل موقع GitHub وتلك البرامج تسمى ببرامج إصدارات التحكم Control versions واكتساب المزيد من المهارات ومعرفة الكثير وسيأتي الحديث عنها بشكل أوضح بهذا الكتاب .
- يمكنك التربح من خلالها عن طريق صناعة ملفات برمجية اما عن طريق الاشتراك في العديد من المواقع التي تقدم مثل هذه الخدمات ويسمى _( المسمى الوظيفي ) _ من يقوم بصناعة هذه الملفات بفري لانسر FreeLancer .
- اذا تمكنت منها تستطيع أن تطبقها علي كامل حزمة الأوفيس والربط فيما بينهم .
- يمكنك أن تصبح Desktop Application Developer وهذه مهنة عالمية ومطلوبة بأكبر الشركات المتخصصة وغير المتخصصة مثل Microsoft و IBM .
ما الذي ستتعلمه من خلال هذه الدورة التعليمية ؟
بعد قراءتك لمواضيع الدورة التعليمية الخاصة بالدليل التعليمي ومشاهدة الفيديوهات التابعة للدورة التعليمية بعناية وتطبيق ما به من أمثلة وشروحات سوف تتقن كيفية التعامل بشكل مباشر مع الأكواد وكتابتها باحترافية .
- كيفية تسجيل الماكرو بشكل كامل .
- التعامل مع محرر الأكواد الخاص بالـ VBA .
- كيف تكتب الكود البرمجي وأين يكتب .
- التعامل مع الخلايا والأعمدة والصفوف ( تحديد ، حذف ، إضافة ، ترحيل ) .
- المتغيرات والثوابت ، (وتمثل القواعد الأساسية لهذه اللغة البرمجية ) .
- جمل التحكم ( الجمل الشرطية ) والتكرار .
- المعادلات ، وتحويل المعادلات الى VBA .
- انشاء النماذج من خلال الـ USERFORM وشرحها بشكل كامل .
- انشاء الرسوم البيانية ، واستخدامها في تحليل البيانات .
- التعرف على برامج إصدارات التحكم Control versions وكيف تتعامل معها .
- سوف تجد ملخصات شاملة ستساعدك على تذكر القواعد البرمجية .
- التعامل مع الملفات الصوتية والفيديو والويب من خلال الـ VBA .
- انشاء نماذج متكاملة تطبيقية تساعدك على كيف يتم انشاء برنامج .
هذا الكورس التعليميى موجه لمن ؟
- لكل انسان يستطيع التعامل مع جهاز الكمبيوتر وبرامج سطح المكتب وتحديدا الأوفيس .
- لكل من يرغب في الاستفادة والتعمق بشكل كبير في تعلم لغة الـ VBA .
- كل من يستخدم الأوفيس ولجميع المهن والوظائف .
نصائح لتعلم الـ VBA
- الممارسة ، الممارسة ، الممارسة .
- لا تحاول أن تتعلم بالقراءة جرب الأمثلة عده مرات.
- اكتب أمثلة التعليمات البرمجية بيدك ولا تعتمد على النسخ واللصق فقط .
- لا يمكن تأجيل الأخطاء التي تقع فيها ، فهي تساعدك على كتابة الكود الصحيح .
- ابدأ بإنشاء وحدات ماكرو بسيطة لعملك ، ثم قم بإنشاء أكثر تعقيدًا كلما تحسنت .
- لا تخاف من العمل من خلال كل برنامج تعليمي أكثر من مرة ، وكلما زادت عدد مرات القيام بذلك كلما أصبحت المعرفة أكثر عمقاً .