كيفية إخفاء الأعمدة في الوقت الفعلي بناءً على مدخلات المستخدم في 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”، ستظهر جميع الأعمدة كما هو موضح في العرض التوضيحي أدناه:
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!