كيف يمكن نقل الصف بأكمله تلقائيًا إلى ورقة أخرى في Excel بناءً على قيمة معيّنة في خلية؟
لنقل الصف بأكمله إلى ورقة أخرى بناءً على قيمة الخلية، يُعدّ هذا المقال دليلك المثالي.
نقل الصف بأكمله إلى ورقة أخرى استنادًا إلى قيمة الخلية باستخدام كود VBA
نقل الصف بأكمله إلى ورقة أخرى استنادًا إلى قيمة الخلية باستخدام Kutools لـ Excel
نقل الصف بأكمله إلى ورقة أخرى استنادًا إلى قيمة الخلية باستخدام كود VBA
كما هو موضح في لقطة الشاشة أدناه، يُمكنك نقل الصف بأكمله من الورقة1 إلى الورقة2 تلقائيًا عند وجود الكلمة «Done» في العمود C. جرّب كود VBA التالي لتحقيق ذلك.

1. اضغط على مفاتيحAlt + F11 في آنٍ واحد لفتح نافذةMicrosoft Visual Basic for Applications.
2. في نافذة Microsoft Visual Basic for Applications، انقر علىإدراج > وحدة نمطية (Module)، ثم انسخ والصق كود VBA أدناه في النافذة.
VBA code 1: Move entire row to another sheet based on cell value
Sub Cheezy()
'Updated by Kutools for Excel 2017/8/28
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
xRg(K).EntireRow.Delete
If CStr(xRg(K).Value) = "Done" Then
K = K - 1
End If
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub ملاحظة: في الكود،الورقة1هي ورقة العمل التي تحتوي على الصف الذي تريد نقله، والورقة2هي ورقة العمل الوجهة التي سيتم نقل الصف إليها. "C:C« هو العمود الذي يحتوي على القيمة المحددة، والكلمة »Done" هي القيمة التي سيتم نقل الصف بناءً عليها. يُرجى تعديلها حسب احتياجاتك.
3. اضغط على مفتاحF5 لتشغيل الكود، وسيتم نقل الصف الذي يستوفي المعايير في الورقة1 إلى الورقة2 فورًا.

ملاحظة: سيقوم كود VBA أعلاه بحذف الصفوف من البيانات الأصلية بعد نقلها إلى ورقة عمل محددة. إذا كنت ترغب فقط في نسخ الصفوف استنادًا إلى قيمة الخلية دون حذفها، فاستخدم كود VBA أدناه 2.
VBA code 2: Copy entire row to another sheet based on cell value
Sub MoveRowBasedOnCellValue()
'Updated by Extendoffice 2017/11/10
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub نقل الصف بأكمله إلى ورقة أخرى استنادًا إلى قيمة الخلية باستخدام Kutools لـ Excel
إذا كنت مبتدئًا في استخدام كود VBA، فسأقدّم لك هنا أداةتحديد خلايا محددةمنKutools لـ Excel. باستخدام هذه الأداة، يمكنك بسهولة تحديد جميع الصفوف بناءً على قيمة خلية معينة أو قيم خلايا مختلفة في ورقة العمل، ثم نسخ الصفوف المحددة إلى ورقة العمل الوجهة حسب حاجتك. اتبع الخطوات التالية.
1. حدد الأعمدة التي تحتوي على القيمة التي ستعتمد عليها عند نقل الصفوف، ثم انقر علىKutools > تحديد > تحديد خلايا محددة. انظر لقطة الشاشة:

2. في مربع الحوار المفتوحتحديد خلايا محددة، اخترالصف بأكملهمن قسمنوع التحديد، وحدديساوي (Equals)من القائمة المنسدلةتحديد النوع، وأدخل قيمة الخلية في مربع النص، ثم انقر على زرموافق (OK).
سيظهر مربع حوار آخرتحديد خلايا محددةلإظهار عدد الصفوف المحددة، وفي الوقت نفسه، تكون جميع الصفوف التي تحتوي على القيمة المحددة في العمود المحدد قد تم تحديدها. انظر لقطة الشاشة:

3. اضغط على مفاتيحCtrl+C لنسخ الصفوف المحددة، ثم الصقها في ورقة العمل الوجهة التي تحتاجها.

ملاحظة: إذا كنت ترغب في نقل صفوف إلى ورقة عمل أخرى استنادًا إلى قيمتين مختلفتين للخلايا، على سبيل المثال، نقل الصفوف استنادًا إلى قيم الخلايا «Done» أو «Processing»، فيمكنك تفعيل شرطأو (Or)في مربع حوارتحديد خلايا محددةكما هو موضح في لقطة الشاشة أدناه:

إذا كنت ترغب في تجربة هذه الأداة مجانًا (لمدة 30 يومًا)،فما عليك سوى النقر لتنزيلها، ثم اتبع الخطوات المذكورة أعلاه لتطبيق العملية.
مقالات ذات صلة:
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في 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 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل