كيفية نقل الصف بأكمله إلى أسفل ورقة العمل النشطة بناءً على قيمة الخلية في Excel؟
في Excel، قد تحتاج غالبًا إلى إعادة تنظيم بياناتك بناءً على الحالة أو القيمة في عمود معين. على سبيل المثال، بعد تتبع تقدم المهام، قد ترغب في نقل جميع الصفوف التي تكون حالتها "منتهية" إلى أسفل ورقة العمل الخاصة بك، مع ترك المهام النشطة أو قيد التنفيذ في الأعلى. يمكن أن يؤدي نقل الصفوف تلقائيًا وفقًا لقيمة الخلية إلى تسهيل إدارة ورقة العمل الخاصة بك، وإبراز الأولويات، ومساعدتك على التركيز بفعالية على العناصر غير المكتملة.
هناك عدة طرق لتحقيق ذلك في Excel، بما في ذلك استخدام كود VBA لأتمتة العمليات أو الاستفادة من الصيغ والوظائف المدمجة لفرز البيانات. لكل طريقة مزاياها الخاصة وتكون مناسبة لسيناريوهات مختلفة. أدناه خطوات حلول لمساعدتك على نقل الصفوف بأكملها إلى أسفل ورقة العمل النشطة بناءً على قيمة خلية معينة.
- نقل الصف بأكمله إلى أسفل ورقة العمل النشطة بناءً على قيمة الخلية باستخدام كود VBA
- نقل الصف بأكمله إلى الأسفل باستخدام صيغ Excel والفرز
نقل الصف بأكمله إلى أسفل ورقة العمل النشطة بناءً على قيمة الخلية باستخدام كود VBA
لنفترض أن لديك جدولًا حيث يحتوي العمود C على حالة، مثل "منتهية"، وترغب في نقل أي صف يحتوي على "منتهية" في العمود C إلى نهاية نطاق البيانات الخاص بك فورًا. تعتبر هذه الحلول باستخدام VBA مفيدة بشكل خاص إذا كنت تريد عملية تكرارية وشبه آلية تتعامل مع التغيرات الديناميكية في البيانات دون الحاجة إلى الفرز اليدوي.
1. اضغط على Alt + F11 معًا لفتح نافذة Microsoft Visual Basic for Applications.
2. في نافذة Microsoft Visual Basic for Applications، انقر فوق إدراج > وحدة. ثم انسخ والصق الكود التالي لـ 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 القياسية، ففكر في النهج التالي.

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