كيفية حذف الصفوف بناءً على لون الخلفية في Excel؟
كيف يمكنك حذف الصفوف بأكملها بناءً على لون الخلفية؟ في هذا المثال، أحتاج إلى حذف جميع الصفوف التي تحتوي خلاياها على لون خلفية أزرق كما هو موضح في لقطة الشاشة التالية. من خلال هذه المقالة، ستحصل على بعض الأكواد لتحقيق هذه المهمة في Excel.
حذف الصفوف ذات لون الخلفية المحدد بناءً على كل خلية
حذف الصفوف ذات لون الخلفية المحدد بناءً على عمود واحد
حذف الصفوف ذات لون الخلفية المحدد بناءً على كل خلية
إذا كان لديك نطاق من البيانات مملوء ببعض ألوان الخلايا بشكل عشوائي، وتحتاج إلى حذف الصفوف التي يكون فيها لون الخلية أزرقًا كما هو موضح في لقطة الشاشة التالية:
لحذف هذا النوع من الصفوف، يمكنك استخدام الكود التالي بلغة VBA، يرجى القيام بما يلي:
1. اضغط مع الاستمرار على مفاتيح ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.
2. انقر فوق إدراج > وحدة، والصق الكود التالي في نافذة الوحدة.
كود VBA: حذف الصفوف التي تحتوي خلاياها على لون تعبئة محدد:
Sub DeleteRows()
'Updateby Extendoffice
Dim rngCl As Range
Dim xRows As Long
Dim xCol As Long
Dim colorLg As Long
On Error Resume Next
Set rngCl = Application.InputBox _
(Prompt:="Select a cell with the background color to be deleted", _
Title:="Kutools for Excel", Type:=8)
On Error GoTo 0
If rngCl Is Nothing Then
MsgBox "User cancelled operation." & vbCrLf & _
"Processing terminated", vbInformation, "Kutools for Excel"
Exit Sub
End If
colorLg = rngCl.Interior.Color
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
For xRows = .Rows.Count To 1 Step -1
For xCol = 1 To .Columns.Count
If .Cells(xRows, xCol).Interior.Color = colorLg Then
.Rows(xRows).Delete
Exit For
End If
Next xCol
Next xRows
End With
Application.ScreenUpdating = True
End Sub
3. ثم اضغط على مفتاح F5 لتشغيل هذا الكود، وسيظهر مربع تنبيه لتذكيرك باختيار خلية باللون الذي تريد حذفه، انظر لقطة الشاشة:
4. بعد ذلك، انقر فوق موافق، وسيتم حذف جميع الصفوف إذا كانت الخلية تحتوي على لون تعبئة محدد.
حذف الصفوف ذات لون الخلفية المحدد بناءً على عمود واحد
إذا كنت ترغب في حذف الصفوف ذات اللون المحدد بناءً على عمود واحد فقط، على سبيل المثال، حذف الصفوف ذات اللون الأزرق في العمود A والحصول على لقطة الشاشة أدناه، هناك أيضًا كود VBA يمكن أن يساعدك.
1. اضغط مع الاستمرار على مفاتيح ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.
2. انقر فوق إدراج > وحدة، والصق الكود التالي في نافذة الوحدة.
كود VBA: حذف الصفوف بناءً على عمود يحتوي خلاياه على لون تعبئة محدد:
Sub deleterow()
'UpdateBY Extendoffice
Dim xRg As Range, rgDel As Range
For Each xRg In ThisWorkbook.ActiveSheet.Range("A2:A21")
If xRg.Interior.ColorIndex = 20 Then
If rgDel Is Nothing Then
Set rgDel = xRg
Else
Set rgDel = Union(rgDel, xRg)
End If
End If
Next xRg
If Not rgDel Is Nothing Then rgDel.EntireRow.Delete
End Sub
ملاحظة: في الكود أعلاه، A2:A21 هو العمود الذي يحتوي على لون التعبئة المحدد الذي تريد حذف الصفوف بناءً عليه، الرقم 20 في سطر ColorIndex = 20 هو رمز اللون الذي تريد حذف الصفوف بناءً عليه. يمكنك تغييرهما حسب حاجتك.
3. ثم اضغط على مفتاح F5 لتشغيل هذا الكود، وسيتم حذف جميع الصفوف التي تحتوي خلاياها على اللون الأزرق في العمود A دفعة واحدة.
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!