معلومات مفيدة في شريط الحالة

شخص ما يعجبني ، لكني شخصياً أحتاج إلى شريط الحالة فقط في 2-3 حالات:

  • بعد التصفية ، يعرض عدد القيم المتبقية بعد التحديد
  • عند تحديد نطاق ، فإنه يعرض مجموع الخلايا المحددة ومتوسطها وعددها
  • في حالة الملفات الثقيلة ، يمكنك مشاهدة التقدم في إعادة حساب الصيغ في الكتاب.

ليس كثيرًا بالنسبة للخط الذي يشغل عرض الشاشة بالكامل تقريبًا ويتعلق بها طوال الوقت. دعنا نحاول توسيع هذه القائمة المتواضعة وإضافة بعض الميزات المفيدة إليها 🙂

المبادئ العامة لإدارة شريط الحالة

تعد إدارة شريط الحالة باستخدام Visual Basic أمرًا سهلاً للغاية. لعرض نصك فيه ، يمكنك استخدام ماكرو بسيط:

Sub MyStatus () Application.StatusBar = "Привет!" End Sub  

بعد تشغيله نحصل على:

معلومات مفيدة في شريط الحالة

لاستعادة الحالة الأصلية لشريط الحالة ، ستحتاج إلى نفس "مكافحة الماكرو" القصيرة:

Sub MyStatus_Off () Application.StatusBar = False End Sub  

في الإصدار الأساسي ، كما ترى ، كل شيء بسيط للغاية. الآن دعونا نحاول تطوير الفكرة ...

عنوان النطاق المحدد في شريط الحالة

 في الزاوية العلوية اليسرى من نافذة Excel في شريط الصيغة ، يمكنك دائمًا رؤية عنوان الخلية الحالية. ولكن إذا تم تحديد نطاق كامل ، فلن نرى ، للأسف ، عنوان التحديد هناك - يتم عرض نفس الخلية النشطة المفردة:

معلومات مفيدة في شريط الحالة

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

افتح محرر Visual Basic باستخدام الزر الذي يحمل نفس الاسم في علامة التبويب المطور (مطور) أو اختصارات لوحة المفاتيح أيسر Alt + F11. ابحث عن كتابك في الزاوية اليسرى العلوية من لوحة المشروع وافتح الوحدة فيه بالنقر المزدوج هذا الكتاب (هذا المصنف):

في النافذة التي تفتح ، انسخ رمز الماكرو التالي والصقه:

Private Sub Workbook_SheetSelectionChange (ByVal Sh As Object ، ByVal Target As Range) Application.StatusBar = "Выделено:" & Selection.Address (0، 0) End Sub  

الآن ، عند تحديد أي نطاق (بما في ذلك أكثر من واحد!) ، سيتم عرض عنوانه في شريط الحالة:

معلومات مفيدة في شريط الحالة

لمنع دمج عناوين النطاقات المتعددة المحددة باستخدام Ctrl ، يمكنك إضافة تحسين بسيط - استخدم وظيفة الاستبدال لاستبدال فاصلة بفاصلة بمسافة:

Application.StatusBar = "Выделено:" & استبدال (Selection.Address (0، 0)، "،"، "،") End Sub  

عدد الخلايا المحددة في شريط الحالة

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

Private Sub Workbook_SheetSelectionChange (ByVal Sh As Object، ByVal Target As Range) Dim CellCount as Variant، rng As Range لكل rng In Selection. . Count 'عدد الأعمدة CellCount = CellCount + RowsCount * ColumnsCount' يراكم العدد الإجمالي للخلايا عرض التالي 'في شريط الحالة Application.StatusBar = "محدد:" & CellCount & "الخلايا" End Sub  

يتكرر هذا الماكرو عبر جميع المناطق المحددة باستخدام مفتاح Ctrl (إذا كان هناك أكثر من واحد) ، ويخزن عدد الصفوف والأعمدة في كل منطقة في متغيري RowsCount و ColumnsCount ، ويجمع عدد الخلايا في متغير CellCount ، والذي يتم عرضه بعد ذلك في شريط الحالة. سيبدو في العمل كالتالي:

معلومات مفيدة في شريط الحالة

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

Application.StatusBar = "المحدد:" & استبدال (Selection.Address (0، 0)، "،"، "،") & "- total" & CellCount & "cells"  

عندها ستكون الصورة رائعة:

معلومات مفيدة في شريط الحالة

حسنًا ، أعتقد أنك فهمت الفكرة. اقترح في التعليقات - ما الذي سيكون مفيدًا أيضًا لعرضه في شريط الحالة؟

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

اترك تعليق