KutoolsforOffice — حل واحد، خمس أدوات قوية.تحقيق المزيد بجهد أقل.

كيف يمكن إخفاء الأعمدة في الوقت الفعلي بناءً على إدخال المستخدم في Excel؟

المؤلفشياويانغتاريخ التعديل

قد يكون إخفاء الأعمدة في Excel أمرًا شائعًا، لكن هل جرّبت من قبل إخفاءها تلقائيًا بناءً على قيم إدخال معيّنة؟ على سبيل المثال، عند كتابة «AA» في خلية، يُخفى العمود A؛ وعند إدخال «BB»، يُخفى العمودان B وC؛ وعند كتابة «CC»، يُخفى العمودان D وE؛ وعند إدخال «DD»، يُخفى العمود F، كما في العرض التوضيحي أدناه. يقدم هذا المقال كود VBA لتنفيذ هذه المهمة في Excel بسلاسة وفعالية.

استخدام كود VBA لإخفاء أو إظهار الأعمدة في الوقت الفعلي استنادًا إلى إدخال المستخدم

استخدام كود VBA لإخفاء أو إظهار أعمدة معيّنة استنادًا إلى إدخال المستخدم


استخدام كود VBA لإخفاء أو إظهار الأعمدة في الوقت الفعلي استنادًا إلى إدخال المستخدم

لإخفاء تحديد العمود في الوقت الفعلي استنادًا إلى قيم الإدخال، يُرجى تطبيق كود VBA التالي:

1. في ورقة العمل التي تريد إخفاء الأعمدة فيها، انقر بزر الماوس الأيمن على لسان تبويب الورقة، ثم اختر «عرض الكود (View Code)» من القائمة السياقية، كما هو موضح في لقطة الشاشة.

لقطة شاشة توضح كيفية فتح نافذة Visual Basic for Applications في Excel بالنقر بزر الماوس الأيمن على لسان الورقة

2. في نافذة «مايكروسوفت Visual Basic for Applications» المفتوحة، انسخ والصق كود VBA التالي في نافذة «ورقة العمل (كود) – Sheet (Code)».

كود VBA: إخفاء الأعمدة في الوقت الفعلي استنادًا إلى إدخال المستخدم

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby ExtendOffice
xcell = Range("K1").Value
Select Case xcell
Case "AA": Columns("A").EntireColumn.Hidden = False
Columns("A").EntireColumn.Hidden = True
Case "BB": Columns("B:C").EntireColumn.Hidden = False
Columns("B:C").EntireColumn.Hidden = True
Case "CC": Columns("D:E").EntireColumn.Hidden = False
Columns("D:E").EntireColumn.Hidden = True
Case "DD": Columns("F").EntireColumn.Hidden = False
Columns("F").EntireColumn.Hidden = True
Case Else
Columns("A:G").EntireColumn.Hidden = False
End Select
End Sub
ملاحظة: في الكود أعلاه، تمثّل الخلية "K1" الخلية التي تُدخل فيها النص المحدد. يجب عليك تعديل النص وأسماء الأعمدة بما يتناسب مع احتياجاتك. بالإضافة إلى ذلك، يمكنك إضافة معايير جديدة أخرى بمجرد إضافة الأوامر البرمجية التالية:
  • الحالة «AA»: Columns(«A»).EntireColumn.Hidden = False
  • Columns(«A»).EntireColumn.Hidden = True

لقطة شاشة لنافذة كود VBA في Excel مع لصق الكود لإخفاء الأعمدة بناءً على إدخال المستخدم

3. بعد ذلك، أغلق نافذة الكود. الآن، عند إدخال «AA» في الخلية K1 ثم الضغط على مفتاح «Enter»، سيتم إخفاء العمود A؛ وعند إدخال «BB» ثم الضغط على مفتاح «Enter»، سيتم إخفاء العمودين B وC، وهكذا دواليك. أما إذا أدخلت أي قيمة أخرى أو حذفت المحتوى، فسيتم عرض الأعمدة المخفية فورًا. انظر العرض التوضيحي أدناه:


استخدام كود VBA لإخفاء أو إظهار أعمدة معيّنة استنادًا إلى إدخال المستخدم

في هذا المثال، سأقوم بتصفية نطاق البيانات بناءً على اسم المنتج الذي يتم إدخاله. فبمجرد كتابة «Hoodie»، تُعرض معلومات «Hoodie» فقط ويتم إخفاء باقي الأعمدة فورًا؛ وعند إدخال «All»، تظهر جميع الأعمدة كما هو موضح في العرض التوضيحي أدناه:

1. في ورقة العمل التي تريد إخفاء الأعمدة فيها، انقر بزر الماوس الأيمن على لسان تبويب الورقة، ثم اختر «عرض الكود (View Code)» من القائمة السياقية، كما هو موضح في لقطة الشاشة:

لقطة شاشة توضح كيفية فتح نافذة Visual Basic for Applications في Excel بالنقر بزر الماوس الأيمن على لسان الورقة

2. في نافذة «مايكروسوفت Visual Basic for Applications» المفتوحة، انسخ والصق كود VBA التالي في نافذة «ورقة العمل (كود) – Sheet (Code)».

كود VBA: إخفاء أو إظهار الأعمدة لتصفية البيانات استنادًا إلى إدخال المستخدم

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby ExtendOffice
    Dim x As Variant, y As String
     If Target.Address = "$K$1" Then
        y = Target.Value
        With Range("B1:H1")
            Application.ScreenUpdating = False
            .EntireColumn.Hidden = (y <> "All")
            If y <> "All" Then
                For Each x In .Cells
                    If x = y Then x.EntireColumn.Hidden = False
                Next
            End If
            Application.ScreenUpdating = True
        End With
    End If
End Sub
ملاحظة: في الكود أعلاه، تمثّل الخلية "K1" الخلية التي تُدخل فيها النص المحدد، و"B1:H1" هي رؤوس الصفوف التي تحتوي على أسماء المنتجات التي تريد تصفيةها.

3. بعد ذلك، أغلق نافذة الكود. الآن، عند إدخال اسم المنتج في الخلية K1، سيتم عرض الأعمدة المقابلة فقط وإخفاء الباقي؛ أما إذا أدخلت النص «All»، فستظهر جميع الأعمدة كما هو موضح في العرض التوضيحي أدناه:

أفضل أدوات الإنتاجية لمكتبتك

🤖KUTOOLS AI مساعد: ثوّر تحليل البيانات استنادًا إلى:التنفيذ الذكي   |  إنشاء الكود|  إنشاء الصيغ المخصصة  |  تحليل البيانات وإنشاء المخططات البيانية|  استدعاء الوظائف المحسنة
الميزات الشائعة:البحث، التمييز أو وضع علامة على المكررات   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |  التقريب بدون استخدام الصيغة...
بحث متقدم:VLookup متعدد المعايير  |  VLookup متعدد القيم  |   VLookup عبر أوراق متعددة   |   مطابقة غامضة....
قائمة منسدلة متقدمة:إنشاء قائمة منسدلة بسرعة   |  قائمة منسدلة تابعة   |  قائمة منسدلة متعددة الاختيار....
مدير الأعمدة:إضافة عدد محدد من الأعمدة|نقل الأعمدة|تبديل حالة ظهور الأعمدة المخفية|مقارنة النطاقات والأعمدة...
ميزات مميزة:التركيز على الشبكة   |  عرض التصميم   |شريط الصيغ المحسن   | مدير الدفتر والورقة   |  مكتبة الموارد(نص تلقائي)|  أداة اختيار التاريخ   |  تجميع ورقات العمل  |  تشفير/فك تشفير الخلايا   | إرسال رسائل البريد الإلكتروني حسب القائمة   |  مرشح متقدم   |   تصفية خاصة(تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل 15 مجموعات الأدوات:12 أدواتالنصوص(إضافة نص،حذف الأحرف المحددة، ...)|   50+أنواعالمخططات البيانية(مخطط جانت، ...)|   40+ صيغعملية(حساب العمر بناءً على تاريخ الميلاد، ...)|   19 أدواتالإدراج(إدراج رمز QR،إدراج صورة من المسار، ...)|   12 أدواتالتحويل(تحويل إلى كلمات،تحويل العملة، ...)|   7 أدواتدمج وتقسيم(دمج متقدم للصفوف،تقسيم الخلايا، ...)|... وأكثر من ذلك
استخدم Kutools باللغة التي تفضلها – يدعم الإنجليزية والإسبانية والألمانية والفرنسية والصينية و40+ لغات أخرى!

عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...


يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير

  • تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
  • افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
  • يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!

جميع الإضافات من Kutools في برنامج تثبيت واحد!

Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.

ExcelWordOutlookTabsPowerPoint
  • حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
  • برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
  • يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
  • تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
  • أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل