كيف يمكن تمكين أو تعطيل زر في Excel بناءً على قيمة خلية معينة؟
في هذا المقال، سأتناول بعض الطرق التي تُمكّنك من تمكين أو تعطيل زر وفقًا لقيمة خلية في ورقة عمل Excel.
تمكين أو تعطيل زرين بناءً على بيانات عمودين باستخدام كود VBA
تمكين أو تعطيل زر واحد بناءً على قيمتي خليتين باستخدام كود VBA
تمكين أو تعطيل زرين بناءً على بيانات عمودين باستخدام كود VBA
على سبيل المثال، لديك زران من نوع Command Button في ورقة العمل: إذا احتوى العمود A على بيانات، يُفعَّل الزر Button1 ويُعطَّل الزر 2؛ أما إذا احتوى العمود C على بيانات، فيُفعَّل الزر 2 ويُعطَّل الزر 1. ولتنفيذ هذه المهمة، قد يساعدك كود VBA التالي.
1. انقر بزر الماوس الأيمن على الورقة التي تحتوي الأزرار، ثم اخترعرض الكود (View Code)من القائمة السياقية، كما في لقطة الشاشة:

2. في نافذةMicrosoft Visual Basic for Applications، يُرجى نسخ الكود أدناه ولصقه في الوحدة النمطية الفارغة:
كود VBA: تمكين أو تعطيل زرين بناءً على عمودين:
Private Sub Worksheet_Change(ByVal Target As Range)
CommandButton1.Enabled = False
CommandButton2.Enabled = False
If Application.WorksheetFunction.CountA(Range("C:C")) > 0 Then
CommandButton2.Enabled = True
End If
If Application.WorksheetFunction.CountA(Range("A:A")) > 0 Then
CommandButton1.Enabled = True
End If
End Sub

ملاحظة: في الكود أعلاه،CommandButton1 وCommandButton2 هما اسمَا الزرين، وA:A وC:C هما العمودان اللذان تستخدمهما لتمكين أو تعطيل الزرين؛ يُرجى تعديلها وفقًا لاحتياجاتك.
3. بعد ذلك، احفظ وأغلق نافذة الكود؛ وستحصل الآن على النتيجة التالية حسب حاجتك:
(1.) عند إدخال بيانات في العمود A، يصبح الزر 1 مُفعَّلًا والزر 2 معطَّلًا، انظر لقطة الشاشة:

(2.) عند إدخال بيانات في العمود C، يصبح الزر 2 مُفعَّلًا والزر 1 معطَّلًا، انظر لقطة الشاشة:

(3.) عندما يحتوي كل من العمود A والعمود C على بيانات، يكون الزران مُفعَّلين معًا، انظر لقطة الشاشة:

(4.) يصبح الزران معطَّلين معًا إذا لم تكن هناك بيانات في العمود A والعمود C، انظر لقطة الشاشة:

تمكين أو تعطيل زر واحد بناءً على قيمتي خليتين باستخدام كود VBA
إذا كنت ترغب في تمكين أو تعطيل زر من نوع Command Button بناءً على قيمتي خليتين — على سبيل المثال، يُفعَّل الزر عندما تكون القيمة في الخلية A1 أكبر من القيمة في الخلية B1، ويُعطَّل في غير ذلك — فإن الكود التالي يمكن أن يساعدك في تحقيق ذلك.
1. انقر بزر الماوس الأيمن على الورقة التي تحتوي الزر، ثم اخترعرض الكود (View Code)من القائمة السياقية. بعد ذلك، في نافذةMicrosoft Visual Basic for Applications، يُرجى نسخ ولصق الكود أدناه في الوحدة النمطية الفارغة، كما في لقطة الشاشة:
كود VBA: تمكين أو تعطيل زر بناءً على قيمتي خليتين:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TargetAdd As String
Dim xTemp As Double
On Error GoTo ExitSub
TargetAdd = Target.Address
CommandButton1.Enabled = False
If (TargetAdd = Range("A1").Address) Or (TargetAdd = Range("B1").Address) Then
If Range("A1") > Range("B1") Then
CommandButton1.Enabled = True
End If
End If
ExitSub:
End Sub

ملاحظة: في الكود أعلاه،A1 وB1 هما قيمتا الخليتين اللتين تستخدمهما، وCommanButton1 هو اسم الزر؛ يُرجى تعديلها بما يناسبك.
2. بعد ذلك، احفظ وأغلق نافذة الكود. الآن، إذا كانت قيمة الخلية A1 أكبر من قيمة الخلية B1، يُفعَّل الزر؛ وإذا كانت أقل، يُعطَّل الزر. انظر لقطة الشاشة:

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