جدول المحتويات
في هذا البرنامج التعليمي ، ستتعلم 3 طرق مختلفة لتمييز صف وعمود الخلية المحددة ديناميكيًا في Excel.
عند عرض ورقة عمل كبيرة لفترة طويلة ، قد تفقد في النهاية تتبع مكان المؤشر والبيانات التي تبحث عنها. لمعرفة مكانك بالضبط في أي لحظة ، اجعل Excel يقوم تلقائيًا بتمييز الصف والعمود النشطين لك! بطبيعة الحال ، يجب أن يكون التمييز ديناميكيًا وأن يتغير في كل مرة تحدد فيها خلية أخرى. بشكل أساسي ، هذا ما نهدف إلى تحقيقه:
تمييز تلقائي لصف وعمود الخلية المحددة باستخدام VBA
هذا يوضح المثال كيف يمكنك تمييز عمود وصف نشط برمجيًا باستخدام VBA. لهذا ، سنستخدم حدث SelectionChange الخاص بالكائن Worksheet .
أولاً ، تقوم بمسح لون الخلفية لجميع الخلايا على الورقة عن طريق ضبط ColorIndex الخاصية إلى 0. وبعد ذلك ، تقوم بتمييز الصف والعمود بالكامل للخلية النشطة عن طريق تعيين خاصية ColorIndex إلى رقم الفهرس للون المطلوب.
Private Sub Worksheet_SelectionChange (ByVal Target As Range) إذا كان Target.Cells.Count & GT ؛ 1 ثم اخرج من التطبيق الفرعي. ScreenUpdating = False 'امسح لون جميع الخلايا Cells.Interior.ColorIndex = 0 مع الهدف' قم بتمييز صف وعمود الخلية المحددة..EntireColumn.Interior.ColorIndex = 24 End With Application.ScreenUpdating = True End Subتخصيص الكود
إذا كنت ترغب في تخصيص الكود وفقًا لاحتياجاتك ، فقد تكون هذه النصائح الصغيرة مفيدة:
- يستخدم نموذج الكود لدينا لونين مختلفين موضحين في الصورة أعلاه - مؤشر اللون 38 للصف و 24 للعمود. لتغيير لون التظليل ، ما عليك سوى استبدال تلك بأي رموز ColorIndex من اختيارك.
- للحصول على الصف والعمود ملونين بنفس الطريقة ، استخدم نفس رقم فهرس اللون لكليهما.
- لتمييز الصف النشط فقط ، قم بإزالة هذا السطر أو التعليق عليه: .EntireColumn.Interior.ColorIndex = 24
- لتمييز العمود النشط فقط ، قم بإزالة هذا السطر أو التعليق عليه: .EntireRow.Interior.ColorIndex = 38
كيفية إضافة الكود إلى ورقة العمل الخاصة بك
لتنفيذ الكود بصمت في خلفية ورقة عمل معينة ، تحتاج إلى إدراجه في نافذة التعليمات البرمجية التي تنتمي إلى ورقة العمل هذه ، وليس في الوحدة النمطية العادية. للقيام بذلك ، قم بتنفيذ الخطوات التالية:
- في المصنف الخاص بك ، اضغط على Alt + F11 للوصول إلى محرر VBA.
- في Project Explorer على اليسار ، أنت ' سترى قائمة بجميع المصنفات المفتوحة وأوراق العمل الخاصة بها. إذا كنت لا ترى ذلك ، فاستخدم اختصار Ctrl + R لإحضار نافذة Project Explorer لعرضها.
- ابحث عن المصنف الهدف. في برنامج Microsoft Excelكائنات ، انقر نقرًا مزدوجًا على الورقة التي تريد تطبيق التمييز فيها. في هذا المثال ، الورقة 1 .
- في نافذة التعليمات البرمجية على اليمين ، الصق الرمز أعلاه.
- احفظ الملف باسم مصنف ممكن بماكرو (.xlsm).
المزايا : كل شيء يتم في الخلفية ؛ لا توجد حاجة إلى تعديلات / تخصيصات من جانب المستخدم ؛ يعمل في جميع إصدارات Excel.
العيوب : هناك جانبان أساسيان يجعلان هذه التقنية غير قابلة للتطبيق في ظل ظروف معينة:
- يمسح الرمز الخلفية ألوان لكافة الخلايا في ورقة العمل. إذا كان لديك أي خلايا ملونة ، فلا تستخدم هذا الحل لأنه سيتم فقد التنسيق المخصص.
- يؤدي تنفيذ هذا الرمز إلى كتل وظيفة التراجع على الورقة ، لن تتمكن من التراجع عن إجراء خاطئ بالضغط على Ctrl + Z.
تمييز الصف والعمود النشطين بدون VBA
أفضل ما يمكنك الحصول عليه لتمييز الصف المحدد و / أو العمود بدون VBA هو تنسيق Excel الشرطي. لإعداده ، قم بتنفيذ الخطوات التالية:
- حدد مجموعة البيانات الخاصة بك التي يجب أن يتم فيها التمييز.
- في علامة التبويب الصفحة الرئيسية ، في مجموعة أنماط ، انقر فوق قاعدة جديدة .
- في مربع الحوار قاعدة تنسيق جديدة ، اختر استخدم صيغة لتحديد الخلايا المطلوب تنسيق .
- في تنسيق القيم حيث هذه الصيغةمربع صحيح ، أدخل إحدى هذه الصيغ:
لتمييز الصف النشط :
أنظر أيضا: دالة IRR في Excel لحساب معدل العائد الداخلي=CELL("row")=ROW()
لتمييز العمود النشط :
=CELL("col")=COLUMN()
لتمييز الصف والعمود النشطين :
=OR(CELL("row")=ROW(), CELL("col")= COLUMN())
تستخدم جميع الصيغ وظيفة CELL من أجل إرجاع رقم الصف / العمود للخلية المحددة.
- انقر فوق الزر تنسيق ، قم بالتبديل إلى علامة التبويب تعبئة ، وحدد اللون الذي تريده.
- انقر فوق موافق مرتين للإغلاق كلا نافذتي الحوار.
إذا كنت تشعر أنك بحاجة إلى إرشادات أكثر تفصيلاً ، فيرجى الاطلاع على كيفية إنشاء قاعدة تنسيق شرطي قائمة على الصيغة.
في هذا المثال ، اخترنا OR صيغة لتظليل كل من العمود والصف بنفس اللون. هذا يتطلب عملاً أقل وهو مناسب لمعظم الحالات.
لسوء الحظ ، هذا الحل ليس جيدًا مثل حل VBA لأنه يتطلب إعادة حساب الورقة يدويًا (بالضغط على مفتاح F9). بشكل افتراضي ، يعيد Excel حساب ورقة العمل فقط بعد إدخال بيانات جديدة أو تحرير القائمة الموجودة ، ولكن ليس عندما يتغير التحديد. لذلك ، حددت خلية أخرى - لم يحدث شيء. اضغط على F9 - يتم تحديث الورقة ، وإعادة حساب الصيغة ، ويتم تحديث التمييز.
لإعادة حساب ورقة العمل تلقائيًا كلما حدث SelectionChange يحدث ، يمكنك وضع رمز VBA البسيط هذا في وحدة التعليمات البرمجية للورقة المستهدفة الخاصة بك كما هو موضح فيالمثال السابق:
Private Sub Worksheet_SelectionChange (ByVal Target As Range) Target. التغيير.المزايا : على عكس الطريقة السابقة ، لا تؤثر هذه الطريقة على التنسيق الحالي الذي قمت بتطبيقه يدويًا.
العيوب : may يؤدي إلى تفاقم أداء Excel.
- لكي يعمل التنسيق الشرطي ، تحتاج إلى إجبار Excel على إعادة حساب الصيغة في كل تغيير تحديد (إما يدويًا باستخدام المفتاح F9 أو تلقائيًا باستخدام VBA). قد تؤدي عمليات إعادة الحساب القسرية إلى إبطاء برنامج Excel. نظرًا لأن الكود الخاص بنا يعيد حساب التحديد بدلاً من ورقة كاملة ، فمن المرجح أن يكون التأثير السلبي ملحوظًا فقط على المصنفات الكبيرة والمعقدة حقًا.
- نظرًا لأن وظيفة CELL متاحة في Excel 2007 والإصدارات الأحدث ، فقد فازت الطريقة t العمل في الإصدارات السابقة.
تسليط الضوء على الصف والعمود المحددين باستخدام التنسيق الشرطي و VBA
في حالة إبطاء الطريقة السابقة في المصنف بشكل كبير ، يمكنك التعامل مع المهمة بشكل مختلف - بدلاً من ذلك لإعادة حساب ورقة عمل على كل حركة للمستخدم ، احصل على رقم الصف / العمود النشط بمساعدة VBA ، ثم قم بتقديم هذا الرقم إلى الدالة ROW () أو COLUMN () باستخدام صيغ التنسيق الشرطي.
إلى أنجز هذا ،فيما يلي الخطوات التي يجب اتباعها:
- أضف ورقة فارغة جديدة إلى المصنف الخاص بك وقم بتسميتها Helper Sheet . الغرض الوحيد من هذه الورقة هو تخزين رقمين يمثلان الصف والعمود الذي يحتوي على خلية محددة ، بحيث يمكنك إخفاء الورقة بأمان في وقت لاحق.
- أدخل VBA أدناه في نافذة التعليمات البرمجية لورقة العمل حيث ترغب في تنفيذ التمييز. للحصول على الإرشادات التفصيلية ، يرجى الرجوع إلى مثالنا الأول. Application.ScreenUpdating = False Worksheets ("Helper Sheet") .Cells (2، 1) = Target.Row Worksheets ("Helper Sheet") .Cells (2، 2) = Target.Column Application.ScreenUpdating = True End Sub
يضع الكود أعلاه إحداثيات الصف والعمود النشطين في الورقة المسماة "Helper Sheet". إذا قمت بتسمية الورقة بشكل مختلف في الخطوة 1 ، فقم بتغيير اسم ورقة العمل في التعليمات البرمجية وفقًا لذلك. يتم كتابة رقم الصف إلى A2 ورقم العمود إلى B2.
- في ورقة العمل الهدف ، حدد مجموعة البيانات بأكملها ، وأنشئ قاعدة تنسيق شرطي باستخدام الصيغ أدناه. يتم توفير الإرشادات خطوة بخطوة في المثال أعلاه.
والآن ، دعنا نغطي حالات الاستخدام الرئيسية الثلاث بالتفصيل.
كيفية تمييز الصف النشط
لتمييز الصف حيث يتم وضع المؤشر في الوقت الحالي ، قم بإعداد قاعدة تنسيق شرطي باستخدام هذاالصيغة:
=ROW()='Helper Sheet'!$A$2
نتيجة لذلك ، يمكن للمستخدم أن يرى بوضوح الصف المحدد حاليًا:
كيفية تمييز العمود النشط
لتمييز العمود المحدد ، قم بتغذية رقم العمود إلى الدالة COLUMN باستخدام هذه الصيغة:
=COLUMN()='Helper Sheet'!$B$2
الآن ، يتيح لك العمود المميز قراءة البيانات الرأسية بشكل مريح وبدون عناء مع التركيز بالكامل عليها.
كيفية تمييز الصف والعمود النشطين
للحصول على كل من الصف والعمود المحددين مظللين تلقائيًا بنفس اللون ، ادمج الدالتين ROW () و COLUMN () في صيغة واحدة:
=OR(ROW()='Helper Sheet'!$A$2, COLUMN()='Helper Sheet'!$B$2)
يتم التركيز على البيانات ذات الصلة على الفور ، بحيث يمكنك تجنب إساءة قراءتها.
المزايا : أداء محسن ؛ يعمل في كافة إصدارات Excel
العيوب : الإعداد الأطول
هذه هي كيفية تمييز العمود والصف لخلية محددة في Excel. أشكرك على القراءة وأتطلع إلى رؤيتك على مدونتنا الأسبوع المقبل!
تدرب على تنزيل المصنف
تمييز الصف والعمود النشطين (ملف .xlsm)