كيف يمكن نقل الصف بأكمله إلى أسفل ورقة العمل الحالية بناءً على قيمة معيّنة في خلية ما في Excel؟
في Excel، قد تجد نفسك بحاجةٍ متكررةٍ إلى إعادة تنظيم بياناتك بناءً على الحالة أو القيمة الموجودة في عمود معيّن. فعلى سبيل المثال، بعد تتبع تقدّم المهام، قد ترغب في نقل جميع الصفوف التي تكون حالتها «منتهية» إلى أسفل ورقة العمل، مع الاحتفاظ بالمهام النشطة أو قيد التنفيذ في الأعلى. ويُسهّل نقل الصف بأكمله تلقائيًا وفقًا لقيمة خلية معيّنة إدارة ورقة العمل، ويُبرز الأولويات، ويساعدك على التركيز بكفاءة على البنود غير المكتملة.
ثمة عدة طرق لتحقيق ذلك في Excel، أبرزها استخدام كود VBA للأتمتة أو الاعتماد على الصيغ ووظيفة الفرز المدمجة. ويتميّز كل نهج بمزاياه الفريدة، ما يجعله مناسبًا لسيناريوهات معيّنة. فيما يلي حلول خطوة بخطوة تساعدك على نقل الصف بأكمله إلى أسفل ورقة العمل النشطة بناءً على قيمة خلية محددة.
- نقل الصف بأكمله إلى أسفل ورقة العمل الحالية بناءً على قيمة الخلية باستخدام كود VBA
- نقل الصف بأكمله إلى الأسفل باستخدام صيغ Excel والفرز
نقل الصف بأكمله إلى أسفل ورقة العمل الحالية بناءً على قيمة خلية باستخدام كود VBA
افترض أن لديك جدولًا يحتوي العمود C على حالة مثل «منتهية»، وتريد نقل أي صف يحتوي على «منتهية» في العمود C فورًا إلى نهاية نطاق البيانات. يُعدّ حل VBA هذا مثاليًا إذا كنت تبحث عن عملية شبه آلية قابلة للتكرار، تعالج التغييرات الديناميكية في البيانات دون الحاجة إلى الفرز اليدوي.

1. اضغطAlt+F11 في آنٍ واحد لفتح نافذةمايكروسوفت فيجوال بيسك للتطبيقات.
2. في نافذةمايكروسوفت فيجوال بيسك للتطبيقات، انقرإدراج > وحدة نمطية. ثم انسخ والصق كود VBA أدناه في النافذة.
كود VBA: نقل الصف بأكمله إلى أسفل ورقة العمل الحالية بناءً على قيمة خلية
Sub MoveToEnd()
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
Dim xEndRow As Long
Dim I As Long
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
lOne:
Set xRg = Application.InputBox("Select range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Columns.Count > 1 Or xRg.Areas.Count > 1 Then
MsgBox " Multiple ranges or columns have been selected ", vbInformation, "Kutools for Excel"
GoTo lOne
End If
xEndRow = xRg.Rows.Count + xRg.Row
Application.ScreenUpdating = False
For I = xRg.Rows.Count To 1 Step -1
If xRg.Cells(I) = "Done" Then
xRg.Cells(I).EntireRow.Cut
Rows(xEndRow).Insert Shift:=xlDown
End If
Next
Application.ScreenUpdating = True
End Sub ملاحظة: في كود VBA هذا، القيمة المُشار إليها هي "منتهية«. يمكنك بسهولة تعديل هذه القيمة في الكود لتتناسب مع الحالة التي ترغب في تفعيل نقل الصف بناءً عليها—مثل تغييرها إلى »مكتملة" أو أي حالة أخرى تناسب سير عملك. فقط تأكد من أن القيمة مطابقة تمامًا، بما في ذلك حالة الأحرف والمسافات، أو فكّر في تعديل الكود ليتجاهل حالة الأحرف إذا لزم الأمر.
3. اضغط مفتاحF5 أو انقر زرتشغيللتنفيذ الكود. في مربع الحوار المنبثقKutools لـ Excel، حدد نطاق العمود الذي قد تظهر فيه القيمة المستهدفة، ثم انقر زرموافق.

بعد التأكيد، سيقوم الكود تلقائيًا بالبحث عن الصفوف التي تحتوي على القيمة «منتهية» في العمود الذي حددته وينقلها إلى أسفل نطاق البيانات فورًا، مما يوفر عليك الوقت الذي تستغرقه في الفرز اليدوي أو سحب الصفوف يدويًا.

نصائح:
- إذا كانت لديك عناوين أعمدة، فاحرص على عدم تضمينها في تحديدك عند المطالبة بذلك، لتجنب نقل صف العناوين.
- ينطبق نص VBA هذا فقط على ورقة العمل النشطة حاليًا. إذا كنت بحاجة إلى تطبيق هذه العملية على أوراق متعددة، فكرّر الإجراء لكل ورقة على حدة.
- إذا احتوت بياناتك على صيغ أو خلايا مرتبطة، فقد يؤدي نقل الصفوف إلى تغيُّر المراجع. لذا، راجع ورقة العمل بعد تشغيل الماكرو للتأكد من سلامة البيانات.
يتميّز هذا الأسلوب القائم على VBA في الحالات التي تحتاج فيها إلى معالجة عدد كبير من الصفوف بانتظام، خاصةً حين يصبح الفرز اليدوي غير فعّال. ومع ذلك، إذا كنتَ تبحث عن حلٍ لا يعتمد على الماكروهات، أو كنتَ تفضّل العمل مباشرةً باستخدام الصيغ والأدوات القياسية في Excel، ففكّر في الأسلوب التالي.

افتح سحر إكسل مع KUTOOLS AI
- التنفيذ الذكي: نفِّذ عمليات الخلايا، وحلِّل البيانات، وأنشئ المخططات البيانية — كل ذلك بأوامر بسيطة!
- الصيغ المخصصة: أنشئ صيغًا مخصصة لتبسيط سير عملك.
- برمجة VBA: اكتب وأَنفِذ أكواد VBA بسلاسة تامة.
- تفسير الصيغ: افهم الصيغ المعقدة بسهولة!
- ترجمة النصوص: اكسر الحواجز اللغوية في جداولك الإلكترونية!
نقل الصف بأكمله إلى الأسفل باستخدام صيغ Excel والفرز
للمستخدمين الذين يفضلون تجنب استخدام الماكروهات أو يبحثون عن طريقة أكثر شفافية تعتمد على الصيغ لإدارة بياناتهم، يمكنكم تحقيق نفس التأثير باستخدام أعمدة مساعدة ووظيفة الفرز المدمجة في Excel. ويُعدّ هذا الأسلوب خيارًا مثاليًا في البيئات التعاونية أو عند مشاركة الملفات مع آخرين قد تمنع إعدادات الأمان لديهم تشغيل الماكروهات.
1. أضف عمودًا مساعدًا جديدًا إلى يمين بياناتك أو يسارها. وللتوضيح، إذا كانت عناوين بياناتك في الصف 1 وتبدأ القيم من الصف 2، وكانت الحالة في العمود C، فأدرج عمودًا جديدًا باسم D وسمّه مثلًا «مفتاح الفرز» أو ما شابه ذلك.
2. في الخلية الأولى من العمود المساعد (باستثناء العنوان، مثل D2)، أدخل الصيغة التالية:
=IF(C2="Done",1,0) ستُخصص هذه الصيغة الرقم 1 للصفوف التي تكون قيمتها في العمود C هي «منتهية»، والرقم 0 لجميع الصفوف الأخرى.
3. اضغط Enter لتأكيد الصيغة، ثم انسخها لأسفل بجانب جميع صفوف بياناتك. اسحب مقبض التعبئة من الخلية D2 حتى آخر صف يحتوي على بيانات، أو انقر نقرًا مزدوجًا على مقبض التعبئة لتعبئته تلقائيًّا إذا كان العمود المجاور ممتلئًا.
4. حدد أي خلية واحدة ضمن نطاق البيانات، ثم انتقل من شريط Excel إلى تبويببياناتوانقرفرز.
5. في مربع حوار الفرز، اختر العمود المساعد («مفتاح الفرز») من قائمة «فرز حسب»، وعيّن الترتيبمن الأصغر إلى الأكبر. بهذه الطريقة، ستبقى جميع الصفوف ذات الحالة «منتهية» (المُشار إليها بـ 1) في الأسفل، بينما يصعد الباقي (المُشار إليه بـ 0) إلى الأعلى.
6. انقرموافقلتطبيق الفرز. سيتم الآن إعادة ترتيب بياناتك بحيث تظهر جميع الإدخالات المكتملة أو ذات الحالة «منتهية» في أسفل الجدول.
شرح المعلمات ونصائح:
- يمكنك استبدال «منتهية» في الصيغة بأي مؤشر حالة آخر يناسب ورقتك (مثل «مكتملة» أو «غير نشطة»). تأكد من أن التهجئة تطابق بياناتك تمامًا.
- إذا أردتَ نقل الصفوف التي تحتوي على قيم متعددة (مثل «منتهية» و«ملغاة»)، استخدم صيغة مثل:
=IF(OR(C2="Done",C2="Canceled"),1,0) - لعكس التأثير (أي عرض الصفوف ذات الحالة «منتهية» في الأعلى)، رتّب بترتيبمن الأكبر إلى الأصغرأو بدّل بين 0 و1 في الصيغة.
لا يحذف هذا الأسلوب أي صفوف ولا يخفيها، ويحافظ على هيكل بياناتك سليمًا دون تغيير. وهو الحل المثالي للتعاون بسلاسة مع الآخرين، ويضمن التوافق التام عبر إصدارات Excel المختلفة، كما يجنبك المشكلات المحتملة المرتبطة بالملفات الممكَّنة من ماكروهات.
مقالات ذات صلة:
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في 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 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل