15‏/05‏/2017

كود لتلوين الخلية الفعالة – Active Cell

كود لتلوين الخلية الفعالة – Active Cell

السلام عليكم, هل وجدت نفسك يوماً تعمل على ورقة عمل اكسل ضخمة بحيث أنه كان صعباً عليك جداً تتبع البيانات المختلفة في الأسطر أو الأعمدة أو لربما كليهما أو أنك كنت تعاني لمعرفة مكان الخلية الفعالة (النشطة) – Active Cell بعد كل عملية بحث تقوم بها؟ إذا إليك هذا الحل البسيط. باستخدام كود فيجوال بيسك VBA بسيط سيمكنك من تلوين الخلية الفعالة (النشطة) – Active Cell مما سيسهل عليك تحديد مكانها بمجرد النظر إلى الشاشة لديك. خيار آخر, يمكنك تلوين سطر الخلية الفعالة – Active Cell وعمودها كذلك لتسهيل تتبع المعلومات فيهما. إليك ثلاثة أكواد لتختار منها. لنبدأ على بركة الله.

تلوين الخلية الفعالة – Active Cell:


تلوين الخلية الفعالة
تلوين الخلية الفعالة

فعِّل برنامج VBA بالضغط على Atl + F11 من لوحة المفاتيح لديك والصق الكود التالي في ورقة العمل التي تعمل عليها (التي تريد استخدام الكود فيها).

تلوين كامل سطر وعمود الخلية الفعالة – Active Cell:


تلوين كامل سطر وعمود الخلية الفعالة
تلوين كامل سطر وعمود الخلية الفعالة

يمكنك اسخدام الكود التالي في حال أردت أن تلوِّن كامل سطر وعمود الخلية الفعالة – Active Cell.

تلوين سطر وعمود الخلية الفعالة – Active Cell (النطاق مابين الخلية الفعالة و اسم السطر والعمود):


تلوين جزء من سطر وعمود الخلية الفعالة
تلوين جزء من سطر وعمود الخلية الفعالة

من خلال الكود التالي, يمكنك تلوين جزء من سطر وعمود الخلية الفعالة – Active Cell والواقع مابين الخلية الفعالة – Active Cell واسم السطر أو العمود.


طريقة اضافة الكود:

الأكواد الثلاثة اعلاه هي اكواد تضاف على مستوى صفحات العمل ولاتحتاج صفحة موديول Module. بعيداً عن التفاصيل, اتبع الخدوات التالية لاضافة أي من الأكواد اعلاه الى ورقة العمل لديك. في حال اردت استخدام الكود في اكثر من ورقة عمل, يجب عليك اذاً اضافة الكود كلك اوراق العمل لديك بنفس الطريقة التالية,
1- من تبويب ورقة العمل, نقرة يمين بالفأرة ومن ثم اختر اظهار الكود – View Code

اضافة كود تلوين الخلية
اضافة كود تلوين الخلية


2- ستظهر امامك نافذة برنامج جديد (غير اكسل) وإنما هي نافذة برنامج فيجوال بيزك VBA المضمنة في اكسل. ستجد امامك مساحة فارغة, انسخ الكود من الموضوع والصقه هناك واغلق نافذة VBA.

اضافة كود تلوين الخلية
اضافة كود تلوين الخلية


أنت جاهز الآن لاستخدام الكود. يمكنك الذهاب الى ورقة العمل خاصتك لتجربة الكود. في حال لم يعجبك الكود واردت حذفه, اعد الخطوات السابقة ولكن قم بحذف الكود من ضمن نافذة برنامج VBA (محرر VBA).

ملاحظات على عمل الأكواد السابقة:

  • جميع الأكواد السابقة تقوم بازالة التلوين من ورقة العمل قبل تطبيق الكود وإلا فإن ورقة العمل لديك ستمتلئ خلال دقائق بمجموعة كبيرة من الخلايا الملونة والتي ستُفقد الكود قيمته. إذ كلما غيرت موقع الخلية الفعالة الحالي, سيتلون الموقع الجديد (الخلية الجديدة). فإن لم تزل التلوين عن الموقع القديم قبل الإنتقال إلى الموقع الجديدة, فإن المزيد والمزيد من الخلايا سيتم تلوينها مراراً وتكراراً مما سيعقد منظر ورقة العمل ويجعل الكود غير ذي فائدة.
  • جرب أن تقوم بتحديد نطاق من الخلايا وانظر كيف يتفاعل كل من الأكواد السابقة مع النطاق المحدد. هل سيقوم الكود المستخدم بتلوين جميع الخلايا المحددة؟!! اترك الإجابة لك.
  • في حال كنت تلوِّن أسطر ورقة العمل لديك (أو الأعمدة) باستخدام التنسيق الشرطي – Conditional Formatting أو خاصية الجداول – Tables فإن الأكواد اعلاه ستعمل فقط على الخلايا الغير الملونة كما أن كود VBA لن يستطيع ازالة ألوان الخلايا الملونة إن وجدت (الملونة فقط عن طريق التنسيق الشرطي أو الجداول)
  • في حال أردت تلوين السطر فقط, يجب عليك فقط أن تزيل الجزء المتعلق بتلوين العمود. والأمر ينطبق كذلك على تلوين العمود فقط.
  • في حال أردت تغيير اللون المستخدم في الكود, كل ماعليك فعله هو أن تقوم بتغيير رمز اللون من الكود حسب الجدول المبين أدناه.
  • ملاحظة مهمة: يجب عليك التنبه إلى أنه وبمجرد استخدام هذا الكود, فإنك لن تستطيع التراجع عن التغييرات التي اجريتها على ورقة العمل أو حتى ملف العمل. السبب كالتالي, في حال لم تفعِّل الكود (بتغيير الخلية الفعالة) فلا مشكلة ولكن وبمجرد تغيير موقع الخلية الفعالة فإن اكسل سيعتبر هذا التغيير كآخر تغيير اجريته على ورقة العمل النشطة وباعتبار أن هذا التغيير كان سببه كود VBA وباعتبار أن اكسل لا يستطيع التراجع عن التغييرات التي تمت بواسطة اكواد VBA فبالتالي فإن اكسل لن يستطيع التراجع ايضاً عن التغييرات التي تمت قبل استخدام (تفعيل) الكود. لحل هذه المشكلة أو التحوط له, اتبع مايلي,
    • عليك أن تكون حذراً كيلا تقوم بأي تغيير على بياناتك التي تستخدم هذا الكود عليها.
    • اعمل نسخة اساسية عن ورقة العمل / ملف العمل الذي تعمل عليه. طبق التغييرات على هذا الملف الأساسي وليس الملف الذي تطبق الكود عليه.
    • عند اغلاق ملف العمل (الذي يحوي كود التلوين), تأكد من اختيار عدم حفظ التغييرات وذلك لتُرجع الملف إلى حالته التي كان عليها عندما فتحته.

تغيير اللون المستخدم في هذا الكود:

يمكنك استخدام أي لون من القائمة التالية. فقط استبدل رمز اللون في الكود. لاحظ أن القيمة 0 تعني لا لون.

قائمة ألوان VBA
قائمة ألوان VBA


ختاماً, هل اعجبتك فكرة عمل هذا الكود وهل هي مفيدة لك ولعملك اليومي؟ ارجو أن تشاركنا رأيك وتجربتك. إليك ملف توضيحي يحوي الأكواد الثلاثة أعلاه للتجربة.

مصادر الأكواد: