Skip to main content

كيفية مسح محتوى الخلية بناءً على شرط في Excel؟

Author: Xiaoyang Last Modified: 2025-08-06

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

مسح محتوى الخلية بناءً على قيمة الخلية باستخدام كود VBA

مسح الصفوف بالكامل إذا كانت القيمة أكبر أو أقل من قيمة محددة باستخدام كود VBA

مسح محتوى الخلية أو الصف بناءً على قيمة الخلية باستخدام ميزة عملية

مسح الصفوف بالكامل إذا كانت الخلية الأخرى فارغة باستخدام كود VBA

مسح محتوى الخلية بناءً على لون الخلفية باستخدام كود VBA


مسح محتوى الخلية بناءً على قيمة الخلية باستخدام كود VBA

على سبيل المثال، لديك النطاق التالي من البيانات، الآن تريد مسح محتويات الخلايا التي تحتوي على كلمة “Hoodie”، يمكن أن يساعدك الكود التالي VBA في هذا.

sample data

1. اضغط باستمرار على مفتاحي ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.

2. انقر فوق إدراج > وحدة، ثم الصق الكود التالي في نافذة الوحدة.

كود VBA: مسح محتوى الخلية إذا كانت الخلية تساوي قيمة محددة

Sub ClearContents()
'Updateby ExtendOffice
 Dim xRng As Range
 Dim xCell As Range
 Dim xText As String
 Set xRng = Application.Range("A2:A12")
 xText = "Hoodie" 'Change this text to your own
 For Each xCell In xRng
 If xCell.Value = xText Then
 xCell.clearContents
 End If
 Next xCell
End Sub
ملاحظة: في الكود أعلاه، A2:A12 هو نطاق البيانات الذي تريد مسح محتوى الخلايا منه، النص “Hoodie” هو القيمة المحددة التي تريد مسحها. يرجى تغييرها بما يناسبك.

3. بعد ذلك، اضغط على مفتاح F5 لتشغيل هذا الكود، وسيتم مسح جميع الخلايا التي تحتوي على النص “Hoodie” دفعة واحدة، انظر إلى لقطة الشاشة:

vba code to clear cell contents based on cell value

a screenshot of kutools for excel ai

اكتشف سحر Excel مع Kutools AI

  • التنفيذ الذكي: قم بعمليات الخلية، وتحليل البيانات، وإنشاء المخططات - كل ذلك يتم من خلال أوامر بسيطة.
  • الصيغ المخصصة: قم بإنشاء صيغ مصممة خصيصًا لتسهيل سير عملك.
  • برمجة VBA: كتابة وتطبيق أكواد VBA بسهولة.
  • تفسير الصيغ: فهم الصيغ المعقدة بسهولة.
  • ترجمة النصوص: تجاوز الحواجز اللغوية داخل جداول البيانات الخاصة بك.
عزز قدرات Excel لديك باستخدام أدوات تعمل بالذكاء الاصطناعي. قم بالتنزيل الآن وعش تجربة الكفاءة كما لم يحدث من قبل!

مسح الصفوف بالكامل إذا كانت القيمة أكبر أو أقل من قيمة محددة باستخدام كود VBA

لنفترض أن لديك النطاق التالي من البيانات، لمسح محتويات الصف بأكمله إذا كانت القيمة في العمود D أكبر أو أقل من 300. هنا، سأقوم بإنشاء كود VBA لإكمال هذه المهمة.

sample data

1. اضغط باستمرار على مفتاحي ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.

2. انقر فوق إدراج > وحدة، ثم الصق الكود التالي في نافذة الوحدة.

كود VBA: مسح الصفوف بالكامل إذا كانت قيمة الخلية أكبر أو أقل من قيمة محددة

Sub ClearRowInValue()
'Updateby ExtendOffice
Dim xRg As Range
Dim xStrAddress As String
Dim xStrValue As Integer
Dim xCell As Range
Dim xRowRg As Range
Dim xF As Integer
Dim xBol As Boolean
xStrAddress = "D2:D12" 'Change cell range
xStrValue = 300 'change the value
Set xRg = Range(xStrAddress)
For xF = xRg.Rows.Count To 1 Step -1
    Set xRowRg = xRg.Rows.Item(xF)
    xBol = False
    For Each xCell In xRowRg.Cells
        If Application.IsNumber(xCell.Value) Then
        If xCell.Value > xStrValue Then
        xBol = True
        Exit For
        End If
        End If
    Next
    If xBol Then
        xRowRg.EntireRow.clearContents
    End If
Next
End Sub
ملاحظة: في الكود أعلاه، D2:D12 هو نطاق البيانات الذي يحتوي على القيمة المحددة التي تريد مسح الصفوف بناءً عليها؛ 300 هي القيمة المحددة؛ الرمز > داخل البرنامج النصي If xCell.Value > xStrValue Then يعني أكبر من، استخدم أقل من، قم بتغييره إلى الرمز < حسب الحاجة.

3. بعد ذلك اضغط على مفتاح F5 لتشغيل هذا الكود، وسيتم مسح جميع محتويات الصف إذا كانت القيمة في العمود D أكبر من 300، انظر إلى لقطة الشاشة:

vba code to clear entire rows if value is greater or less than a specific value


مسح محتوى الخلية أو الصف بناءً على قيمة الخلية باستخدام ميزة عملية

إذا كان لديك Kutools لـ Excel، باستخدام ميزته تحديد خلايا محددة، يمكنك تحديد الخلايا أو الصفوف بناءً على قيمة محددة، ثم حذف محتويات الخلية دفعة واحدة.

Kutools لـ Excel يقدم أكثر من 300 ميزة متقدمة لتبسيط المهام المعقدة، مما يعزز الإبداع والكفاءة. بالتكامل مع قدرات الذكاء الاصطناعي، يقوم Kutools بأتمتة المهام بدقة، مما يجعل إدارة البيانات أمرًا سهلاً للغاية. معلومات تفصيلية عن Kutools لـ Excel... نسخة تجريبية مجانية...

بعد تثبيت Kutools لـ Excel، يرجى القيام بما يلي:

1. حدد نطاق البيانات الذي يحتوي على القيم التي تريد مسح محتوى الخلية أو الصف بناءً عليها، ثم انقر فوق Kutools > تحديد > تحديد خلايا محددة، انظر إلى لقطة الشاشة:

click Kutools > Select > Select Specific Cells

2. في مربع الحوار تحديد خلايا محددة الذي تم فتحه، قم بالعمليات التالية:

  • انقر فوق الخلية أو الصف بأكمله الذي تريد تحديده؛
  • حدد المعايير ضمن قسم تحديد النوع حسب الحاجة. هنا، أريد تحديد الصفوف التي تكون قيمتها في العمود D أكبر من 300.

specify the options in the dialog box

3. بعد ذلك انقر فوق زر موافق، وسيتم تحديد جميع الصفوف التي تحتوي على قيمة أكبر من 300. الآن، ما عليك سوى الضغط على مفتاح Delete على لوحة المفاتيح لحذف محتويات الخلية، انظر إلى لقطة الشاشة:

all the rows with the value greater than specific value are selected, then delete the contents

نصائح: هناك العديد من المعايير الأخرى التي يمكنك استخدامها، يرجى تحديد الشرط الخاص بك من مربع الحوار كما هو موضح في لقطة الشاشة أدناه:
many other criteria in the dialog box

مسح بيانات الصفوف في نطاق إذا كان يحتوي على خلية فارغة باستخدام كود VBA

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

Clear rows data in a range if contains blank cell

لإكمال هذه المهمة، يرجى تطبيق كود VBA التالي:

1. اضغط باستمرار على مفتاحي ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.

2. انقر فوق إدراج > وحدة، ثم الصق الكود التالي في نافذة الوحدة.

كود VBA: مسح بيانات الصفوف إذا كانت تحتوي على خلية فارغة

Sub ClearContents()
'Updateby ExtendOffice
Dim xcell As Range
Set xrng = Application.Range("A2:D12")
For Each xcell In xrng
If xcell.Value = "" Then
Intersect(xcell.EntireRow, xrng).ClearContents
End If
Next
End Sub
ملاحظة: في الكود أعلاه، A2:D12 هو نطاق البيانات الذي يحتوي على الخلايا الفارغة التي تريد مسح محتويات الخلايا منها.

3. بعد ذلك، اضغط على مفتاح F5 لتشغيل هذا الكود، وسيتم مسح بيانات الصفوف التي تحتوي على خلايا فارغة دفعة واحدة في النطاق المحدد حسب حاجتك.


مسح محتوى الخلية بناءً على لون الخلفية باستخدام كود VBA

لمسح الخلايا التي يتم ملؤها بلون خلفية محدد، يمكنك استخدام كود VBA التالي.

1. اضغط باستمرار على مفتاحي ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.

2. انقر فوق إدراج > وحدة، ثم الصق الكود التالي في نافذة الوحدة.

كود VBA: مسح محتوى الخلية بناءً على لون الخلفية

Sub Clearcontents()
'Updateby ExtendOffice
Dim xcell As Range
Dim xrng As Range
Set xrng = Application.Range("A2:D12")
    For Each xcell In xrng
        If xcell.Interior.Color = RGB(252, 228, 214) Then
            xcell.Clearcontents
        End If
    Next
End Sub
ملاحظة: في الكود أعلاه، A2:D12 هو نطاق البيانات الذي تريد استخدامه، RGB(252, 228, 214) هو اللون المحدد الذي تريد مسح الخلايا بناءً عليه، يمكنك استخراج وضع RGB للون الخلفية باستخدام برنامج Paint على جهاز الكمبيوتر الخاص بك.

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

vba code to clear cell contents based on background color


  • شريط الصيغة الفائق (تحرير سهل للنصوص والصيغ المتعددة الأسطر); تخطيط القراءة (قراءة وتحرير سهل للخلايا الكبيرة العدد); لصق إلى النطاق المُرشح...
  • دمج الخلايا/الصفوف/الأعمدة مع الاحتفاظ بالبيانات; تقسيم محتوى الخلايا; دمج الصفوف المكررة والمجموع/المتوسط... منع الخلايا المكررة; مقارنة النطاقات...
  • تحديد الصفوف المكررة أو الفريدة; تحديد الصفوف الفارغة (جميع الخلايا فارغة); البحث المتقدم والبحث الضبابي في العديد من المصنفات; اختيار عشوائي...
  • نسخ دقيق للخلايا المتعددة دون تغيير مرجع الصيغة; إنشاء تلقائي للمراجع إلى أوراق متعددة; إدراج رموز تعداد نقطي، مربعات اختيار وأكثر...
  • تفضيل وإدراج سريع للصيغ، النطاقات، الرسوم البيانية والصور; تشفير الخلايا بكلمة مرور; إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني...
  • استخراج النص، إضافة نص، إزالة الأحرف في موضع محدد، إزالة المسافات; إنشاء وطباعة إحصاءات صفحة البيانات; التحويل بين محتويات الخلايا والتعليقات...
  • مرشح متقدم (حفظ وتطبيق مخططات التصفية على أوراق أخرى); ترتيب متقدم حسب الشهر/الأسبوع/اليوم، التكرار وأكثر; تصفية خاصة حسب العريض، المائل...
  • تجميع المصنفات وأوراق العمل; دمج الجداول بناءً على الأعمدة الرئيسية; تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls، xlsx وPDF...
  • تجميع جدول محوري حسب رقم الأسبوع، يوم الأسبوع وأكثر... عرض الخلايا غير المؤمنة، المؤمنة بألوان مختلفة; تمييز الخلايا التي تحتوي على صيغة/اسم...
kte tab 201905
  • تمكين التحرير والقراءة بتبويب في Word، Excel، PowerPoint، Publisher، Access، Visio وProject.
  • فتح وإنشاء مستندات متعددة في تبويبات جديدة لنفس النافذة، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50%، ويقلل من مئات النقرات بالماوس لك كل يوم!
officetab bottom