كيفية إخفاء الأعمدة في الوقت الفعلي بناءً على مدخلات المستخدم في Excel؟
قد يكون إخفاء الأعمدة في Excel مهمة شائعة، ولكن هل جربت يومًا إخفاء الأعمدة تلقائيًا بناءً على قيم إدخال معينة؟ على سبيل المثال، عندما أقوم بإدخال النص “AA” في خلية، يتم إخفاء العمود A؛ وعندما أدخل “BB”، يتم إخفاء العمودين B و C؛ وعند إدخال “CC”، يتم إخفاء العمودين D و E؛ وعند إدخال “DD”، يتم إخفاء العمود F، كما هو موضح في العرض التوضيحي أدناه. سيقدم هذا المقال كود VBA لحل هذه المشكلة في Excel.
استخدام كود VBA لإخفاء أو إظهار الأعمدة في الوقت الفعلي بناءً على مدخلات المستخدم
استخدام كود VBA لإخفاء أو إظهار أعمدة معينة بناءً على مدخلات المستخدم
استخدام كود VBA لإخفاء أو إظهار الأعمدة في الوقت الفعلي بناءً على مدخلات المستخدم
لإخفاء الأعمدة المحددة في الوقت الفعلي بناءً على القيم المدخلة، يرجى تطبيق الكود التالي من VBA:
1. في ورقة العمل التي تريد إخفاء الأعمدة فيها، انقر بزر الماوس الأيمن فوق علامة التبويب الخاصة بالورقة، ثم انقر فوق "عرض الكود" من قائمة السياق، انظر إلى الشاشة.
2. في نافذة "Microsoft 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
- Case "AA": Columns("A").EntireColumn.Hidden = False
- Columns("A").EntireColumn.Hidden = True
3. بعد ذلك، أغلق نافذة الكود. الآن، عند إدخال “AA” في الخلية K1، واضغط على مفتاح "Enter"، سيتم إخفاء العمود A؛ عند إدخال “BB”، واضغط على مفتاح "Enter"، سيتم إخفاء العمودين B و C، وهكذا. إذا قمت بإدخال أي قيمة أخرى أو حذف المحتوى، ستظهر الأعمدة المخفية على الفور، انظر العرض التوضيحي أدناه:
استخدام كود VBA لإخفاء أو إظهار أعمدة معينة بناءً على مدخلات المستخدم
في هذا المثال، سأقوم بتصفية نطاق البيانات بناءً على اسم المنتج الذي تم إدخاله. عندما أقوم بإدخال “Hoodie”، سيتم عرض معلومات Hoodie فقط وسيتم إخفاء الأعمدة الأخرى على الفور؛ وعندما أقوم بإدخال “All”، ستظهر جميع الأعمدة كما هو موضح في العرض التوضيحي أدناه:
1. في ورقة العمل التي تريد إخفاء الأعمدة فيها، انقر بزر الماوس الأيمن فوق علامة التبويب الخاصة بالورقة، ثم انقر فوق "عرض الكود" من قائمة السياق، انظر إلى الشاشة:
2. في نافذة "Microsoft 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
3. بعد ذلك، أغلق نافذة الكود. الآن، إذا قمت بإدخال اسم المنتج في الخلية K1، سيتم عرض الأعمدة المقابلة فقط، وسيتم إخفاء الأعمدة الأخرى؛ وإذا قمت بإدخال النص “All”، ستظهر جميع الأعمدة كما هو موضح في العرض التوضيحي أدناه:
أفضل أدوات زيادة الإنتاجية لمجموعة Office
عزز مهاراتك في Excel مع Kutools لـ Excel، وتمتع بكفاءة غير مسبوقة. يقدم Kutools لـ Excel أكثر من300 ميزة متقدمة لتعزيز الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يجلب تجربة التبويبات إلى Office، ويجعل عملك أسهل بكثير
- فعّل تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint
- افتح وأنشئ مستندات متعددة في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ جديدة.
- يمنحك زيادة إنتاجية تصل إلى50% ويوفر عليك مئات النقرات يومياً!