انتقل إلى المحتوى الرئيسي

كيفية إزالة الصفوف بناءً على قيمة الخلية في إكسيل؟

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


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

في Excel ، يمكنك تطبيق ميزة البحث والاستبدال القوية لإزالة الصفوف بناءً على قيمة خلية معينة بسهولة. الرجاء القيام بما يلي:

1. حدد النطاق الذي ستزيل فيه الصفوف بناءً على قيمة خلية معينة ، وافتح مربع الحوار "بحث واستبدال" بالضغط على Ctrl + F مفاتيح في نفس الوقت.

2. في مربع الحوار Find and Replace ، يرجى كتابة قيمة خلية معينة (في حالتنا ، نقوم بإدخال سو) داخل ال Find what مربع ، وانقر فوق Find All زر. انظر لقطة الشاشة الأولى أدناه:

3. حدد جميع نتائج البحث أسفل مربع الحوار "بحث واستبدال" ، وأغلق مربع الحوار هذا. (ملاحظات: يمكنك تحديد إحدى نتائج البحث ، ثم Ctrl + A مفاتيح لتحديد جميع النتائج التي تم العثور عليها. انظر لقطة الشاشة الثانية أعلاه).
وبعد ذلك يمكنك أن ترى تم تحديد جميع الخلايا التي تحتوي على قيمة معينة.

4. انتقل إلى النقر بزر الماوس الأيمن فوق الخلايا المحددة وحدد ملف Delete من قائمة النقر بزر الماوس الأيمن. ثم تحقق من ملف Entire row الخيار في مربع الحوار المنبثق حذف ، وانقر فوق OK زر. سترى الآن إزالة جميع الخلايا التي تحتوي على قيمة معينة. انظر لقطات أدناه:

وبعد ذلك تم حذف صفوف كاملة بناءً على قيمة معينة بالفعل.


قم بإزالة الصفوف بناءً على قيمة الخلية برمز VBA

باستخدام رمز فبا التالي ، يمكنك حذف الصفوف ذات قيمة خلية معينة بسرعة ، يرجى اتباع الخطوات التالية:

1. اضغط على Alt + F11 مفاتيح في نفس الوقت لفتح Microsoft Visual Basic for applications نافذة او شباك،

2. انقر Insert > Module، وأدخل الكود التالي في الوحدة النمطية:

فبا: قم بإزالة الصفوف بأكملها بناءً على قيمة الخلية

Sub DeleteRows()
'Updateby20211217
Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range
Dim DeleteStr As String
Dim xTitleId As String
Dim xArr
Dim xF As Integer
Dim xWSh As Worksheet
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, rng.Address, Type:=8)
If InputRng Is Nothing Then Exit Sub
DeleteStr = Application.InputBox("Delete Text", xTitleId, Type:=2)
Set xWSh = InputRng.Worksheet
For Each rng In InputRng
    If rng.Value = DeleteStr Then
        If DeleteRng Is Nothing Then
            Set DeleteRng = rng
        Else
            Set DeleteRng = Application.Union(DeleteRng, rng)
            Set DeleteRng = DeleteRng.EntireRow
        End If
    End If
Next
xArr = Split(DeleteRng.AddressLocal, ",")
DeleteRng.Select
DeleteRng.Delete
For xF = UBound(xArr) To 0 Step -1
    Set DeleteRng = xWSh.Range(xArr(xF))
    DeleteRng.Delete
Next
End Sub

3. ثم انقر فوق Run زر لتشغيل الكود.

4. في مربع الحوار المنبثق ، يرجى تحديد النطاق الذي ستزيل فيه الصفوف بناءً على قيمة معينة ، وانقر فوق OK .

5. في مربع حوار آخر ، يرجى كتابة القيمة المعينة التي ستزيل الصفوف بناءً عليها ، والنقر فوق OK زر. انظر لقطة الشاشة:

وبعد ذلك سترى تم حذف صفوف كاملة بناءً على القيمة المحددة بالفعل.


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

إذا كنت قد قمت بتثبيت Kutools for Excel، في Select Specific Cells يمكن أن تساعدك الميزة في حذف الصفوف ذات القيمة المحددة بسرعة. الرجاء القيام بما يلي:

كوتولس ل إكسيل - شحن برنامج Excel بأكثر من 300 أداة أساسية. استمتع بتجربة مجانية كاملة المواصفات لمدة 30 يومًا دون الحاجة إلى بطاقة ائتمان! احصل عليه الآن

1. حدد النطاق الذي ستقوم بإزالة الصفوف بناءً على قيمة معينة ، وانقر فوق Kutools > Select > Select Specific Cells. انظر لقطة الشاشة:

2. في مربع حوار فتح الخلايا المحددة ، يرجى التحقق Entire row الخيار، حدد Contains تبدأ من Specific type القائمة المنسدلة ، أدخل القيمة المحددة في المربع الأيمن ، وانقر فوق Ok زر (انظر الصورة أعلاه).
بعد تطبيق هذه الميزة ، سيظهر مربع حوار ويظهر لك عدد الخلايا التي تم العثور عليها بناءً على المعايير المحددة. الرجاء الضغط على OK زر لإغلاقه.

3. الآن يتم تحديد صفوف كاملة بقيمة معينة. يرجى النقر بزر الماوس الأيمن فوق الصفوف المحددة ، والنقر فوق Delete من قائمة النقر بزر الماوس الأيمن. انظر لقطة الشاشة أدناه:

ملاحظات: هذا Select Specific Cells تدعم الميزة حذف الصفوف بواحدة أو قيمتين معينتين. لحذف الصفوف بناءً على قيمتين محددتين ، يرجى تحديد قيمة أخرى في Specific type قسم من مربع الحوار Select Specific Cells كما هو موضح في لقطة الشاشة التالية:

كوتولس ل إكسيل - شحن برنامج Excel بأكثر من 300 أداة أساسية. استمتع بتجربة مجانية كاملة المواصفات لمدة 30 يومًا دون الحاجة إلى بطاقة ائتمان! احصل عليه الآن


قم بإزالة الصفوف بناءً على قيم خلايا متعددة باستخدام Kutools for Excel

في بعض الحالات ، قد تحتاج إلى إزالة الصفوف بناءً على قيم خلايا متعددة من عمود / قائمة أخرى في Excel. هنا سوف أعرض Kutools for Excel's Select Same & Different Cells ميزة لحلها بسرعة وسهولة.

كوتولس ل إكسيل - شحن برنامج Excel بأكثر من 300 أداة أساسية. استمتع بتجربة مجانية كاملة المواصفات لمدة 30 يومًا دون الحاجة إلى بطاقة ائتمان! احصل عليه الآن

1. انقر Kutools > Select > Select Same & Different Cells لفتح مربع الحوار Select Same & Different Cells.

2. في الافتتاح Select Same & Different Cells مربع الحوار ، يرجى القيام بما يلي (انظر لقطة الشاشة):

(1) في Find values in مربع ، الرجاء تحديد العمود حيث ستجد قيم معينة ؛
(2) في According to مربع ، يرجى تحديد العمود / القائمة ذات القيم المتعددة التي ستحذف الصفوف بناءً عليها ؛
(3) في Based on القسم ، يرجى التحقق من Each row الخيار.
(4) في Find القسم ، يرجى التحقق من Same Values الخيار.
(5) تحقق من Select entire rows الخيار في الجزء السفلي من فتح مربع الحوار.
ملاحظات: إذا احتوى عمودان محددان على نفس الرأس ، فيرجى التحقق من My data has headers الخيار.

3. انقر على Ok زر لتطبيق هذه الأداة. ثم يظهر مربع حوار ويظهر عدد الصفوف التي تم تحديدها. فقط انقر فوق ملف OK زر لإغلاقه.

وبعد ذلك تم تحديد جميع الصفوف التي تحتوي على قيم من بين القائمة المحددة.

4. انقر Home > Delete > Delete Sheet Rows لحذف كل الصفوف المختارة.


عرض توضيحي: قم بإزالة الصفوف بناءً على قيمة خلية واحدة أو عدة قيم في Excel


كوتولس ل إكسيل: أكثر من 300 أداة مفيدة في متناول يدك! ابدأ تجربتك المجانية لمدة 30 يومًا دون أي قيود على الميزات اليوم. تحميل الآن!

أفضل أدوات إنتاجية المكتب

الميزات الشعبية: البحث عن التكرارات أو تمييزها أو تحديدها   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |   جولة بدون صيغة 
سوبر بحث: معايير متعددة VLookup    VLookup ذات القيمة المتعددة  |   VLookup عبر أوراق متعددة   |   بحث غامض ....
قائمة منسدلة متقدمة: إنشاء القائمة المنسدلة بسرعة   |  القائمة المنسدلة التابعة   |  قائمة منسدلة متعددة التحديد ....
مدير العمود: إضافة عدد محدد من الأعمدة  |  نقل الأعمدة  |  تبديل حالة رؤية الأعمدة المخفية  |  مقارنة النطاقات والأعمدة 
الميزات المميزة: التركيز على الشبكة   |  عرض تصميم   |   شريط الفورمولا الكبير    مدير المصنفات والأوراق   |  مكتبة الموارد (النص السيارات)   |  منتقي التاريخ   |  اجمع أوراق العمل   |  تشفير/فك تشفير الخلايا    إرسال رسائل البريد الإلكتروني عن طريق القائمة   |  سوبر تصفية   |   مرشح خاص (تصفية غامق / مائل / يتوسطه خط ...) ...
أفضل 15 مجموعة أدوات12 نص الأدوات (إضافة نص, إزالة الأحرف، ...)   |   +50 رسم الأنواع (مخطط جانت، ...)   |   40+ عملي الصيغ (احسب العمر على أساس تاريخ الميلاد، ...)   |   19 إدخال الأدوات (أدخل رمز الاستجابة السريعة, إدراج صورة من المسار، ...)   |   12 تحويل الأدوات (أرقام إلى كلمات, نتيجة تحويل عملة، ...)   |   7 دمج وتقسيم الأدوات (الجمع بين الصفوف المتقدمة, تقسيم الخلايا، ...)   |   ... و اكثر

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

علامة تبويب kte 201905


يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
Comments (39)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
In given range, if any cell contains defined text the entire row gets deleted.

Pls share code
This comment was minimized by the moderator on the site
Hi Yogesh,
On this webpage, the second method is to delete rows by cell values with VBA code. You can go to there and copy the code directly!
https://www.extendoffice.com/documents/excel/815-excel-remove-rows-based-on-cell-value.html#vba
This comment was minimized by the moderator on the site
There are two issues with the code posted as of this date. 1) the variable xTitleId is not declared, which causes a compilation error if Option Explicit is in use. 2) With Excel 2016, it appears that a range is limited to 129 areas. Each discontiguous matching cell found in the loop creates another area in the DeleteRng variable. Unfortunately, the Union method does not raise an error if that number of areas is exceeded; it just ignores the remaining cells. When the loop is finished, DeleteRng will have no more than 129 areas.
This comment was minimized by the moderator on the site
Hi TomTheToolman,
Thank you so much for your feedback. I've already updated the new code in the article. If you have any other questions, please don't hesitate to let me know.
Amanda
This comment was minimized by the moderator on the site
very well. Thank you!
This comment was minimized by the moderator on the site
Can someone help me...If 3rd column has value 0, then delete all values of corresponding column 1st. In this case answer should be the last line only.... Check MenuName ID 3149 VNLA MILFLLE 2 3149 TURKEY PNN 0 3149 R. BEEF PNN 0 3149 MIX MOCHA 38 3150 M.G.R 1/2 0 3150 THE PEPPE L 0 3150 MIX SLD 0 3150 EGGPLANT 0 3150 STILL WATER 7 3151 MIX MOCHA 38
This comment was minimized by the moderator on the site
Thanks for sharing. I am actually looking for a code that doesn't ask user for range but instead selects a specific column say column "A" and runs till the last row of that column. Can you please help..
This comment was minimized by the moderator on the site
Hi everybody, I am wondering what can we do to delete the following (According to the example shown in this page): Soe appears at several date (sept, October... etc). What I would like is to delete the line where Soe is but to keep the line with last date she appeared. In addition, some lines could be in double but I still want to keep it. So for example, you have the lines: - July 3 /Soe - Sep 4 / Soe - Sep 4 / Soe - Oct 19/ Soe - Nov 13 / Soe - Nov 13 / Soe and what I want to keep is: - Nov 13 / Soe - Nov 13 / Soe My real case is: I have different EAN code and version 1, 2, 3 or 4 and I want to keep the line where the version is the higher. e.g.: I have: - EAN 1 / Version 1 - EAN 1 / Version 1 - EAN 1 / Version 2 - EAN 1 / Version 2 - EAN 2 / Version 2 - EAN 2 / Version 3 - EAN 2 / Version 3 and I want to keep: - EAN 1 / Version 2 - EAN 1 / Version 2 - EAN 2 / Version 3 - EAN 2 / Version 3 I am searching since hours and I am completely blocked on this issue. Many thanks in advance for your brain and help. Best, Marion
This comment was minimized by the moderator on the site
Hi, Thank you this was really helpful. However, there's an error that pops up when I run the codes it says "Object variable or with block variable not set" and it points to " the line DeleteRNG.EntireRow.Delete". Could you please help me with debugging this. Thanks.
This comment was minimized by the moderator on the site
I am trying to use this macro in order to delete unused formulas, because excel views blank formula cells as a zero value and will print extra pages. I was hoping when I deleted the unused formulas, when I printed it would only print the pages that had information. This is not the case and I really need help to find a solution. I have tried using this formula and it is not working and prints three extra pages that I do not need even with the extra formulas being deleted. Sub selectonly() ' ' selectonly Macro ' Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)" End Sub
This comment was minimized by the moderator on the site
thank you so much. That save me a lot of time
This comment was minimized by the moderator on the site
Trying to find a delete Function that will delete entire designated rows automatically, based on certain values or certain text contained in other cell(s), using only automated formulas.
This comment was minimized by the moderator on the site
How can i delete selected cell that i want based on value that i entered for example : A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 A4 B4 C4 D4 When i entered in some cell for example "2" then 2 row will be deleted from A3:D4. If i entered "1" then 1 row will be deleted from A4:D4. if i entered "3" then 3 row will be deleted from A2:D4
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations