كيف تُنشئ أوراق عمل جديدة لكل صف في Excel؟
في مهام إدارة البيانات أو إعداد التقارير، قد تحتاج أحيانًا إلى فصل كل سجل من جدول إلى ورقة عمل خاصة به. على سبيل المثال، إذا كنت تحتفظ بقائمة بتفاصيل الطلاب في Excel، حيث يمثل كل صف معلومات طالب مختلف، فقد ترغب في إنشاء ورقة منفصلة لكل طالب تحتوي على بياناته الخاصة. بدلاً من ذلك، قد ترغب ببساطة في تقسيم كل صف—بغض النظر عن محتوياته—بحيث يوضع كلٌّ منها في ورقة عمل جديدة خاص به. إن إنشاء الأوراق ونسخ البيانات إليها يدويًّا قد يستغرق وقتًا طويلاً ويكون عرضةً للخطأ، خاصةً عند التعامل مع مجموعة بيانات كبيرة. يؤدي أتمتة هذه العملية إلى توفير وقتٍ كبير وتقليل احتمالية حدوث الأخطاء. يرشدك هذا الدليل خلال حلين عمليين لإنشاء أوراق عمل جديدة لكل صف في Excel، ويفسّر مزايا وعيوب كل طريقة لمساعدتك على اختيار أفضل نهج يناسب حالتك.
إنشاء أوراق عمل جديدة لكل صف باستخدام كود VBA
إنشاء أوراق عمل جديدة لكل صف باستخدام أداة تقسيم البيانات من Kutools لـ Excel
إنشاء أوراق عمل جديدة لكل صف باستخدام كود VBA
يُعد استخدام VBA (Visual Basic for Applications) وسيلة فعّالة لأتمتة مهام Excel المملة والمتكررة. فمن خلال VBA، يمكنك إنشاء ورقة عمل جديدة بسرعة لكل صف في بياناتك—إما بتجميع الصفوف وفقًا لعمود معيّن (مثل اسم الطالب)، أو بإنشاء ورقة منفصلة لكل صف بغض النظر عن محتواه. ويُعد هذا الحل مثاليًّا للمستخدمين المتمرسين في محرر VBA والذين يبحثون عن خيار قابل للتخصيص إلى أقصى حد. ومع ذلك، يتطلب الأمر تعديل الكود وتشغيله، ما قد يجعله غير مناسب للمستخدمين غير الملمّين بـ VBA أو الذين لا يمتلكون الصلاحيات اللازمة لتشغيل ماكرو في بيئتهم.
1. اضغط«Alt» + "F11" لفتح نافذةMicrosoft Visual Basic for Applications، التي تُمكّنك من الوصول إلى كود VBA لأتمتة عمليات Excel.
2. في نافذةMicrosoft Visual Basic for Applications، انقر فوقInsert > Module لإضافة وحدة كود جديدة، ثم انسخ والصق الكود التالي في نافذة Module.
كود VBA: إنشاء ورقة عمل جديدة لكل صف استنادًا إلى عمود
Sub parse_data()
'Update by Extendoffice 2018/3/2
Dim xRCount As Long
Dim xSht As Worksheet
Dim xNSht As Worksheet
Dim I As Long
Dim xTRrow As Integer
Dim xCol As New Collection
Dim xTitle As String
Dim xSUpdate As Boolean
Set xSht = ActiveSheet
On Error Resume Next
xRCount = xSht.Cells(xSht.Rows.Count, 1).End(xlUp).Row
xTitle = "A1:C1"
xTRrow = xSht.Range(xTitle).Cells(1).Row
For I = 2 To xRCount
Call xCol.Add(xSht.Cells(I, 1).Text, xSht.Cells(I, 1).Text)
Next
xSUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
For I = 1 To xCol.Count
Call xSht.Range(xTitle).AutoFilter(1, CStr(xCol.Item(I)))
Set xNSht = Nothing
Set xNSht = Worksheets(CStr(xCol.Item(I)))
If xNSht Is Nothing Then
Set xNSht = Worksheets.Add(, Sheets(Sheets.Count))
xNSht.Name = CStr(xCol.Item(I))
Else
xNSht.Move , Sheets(Sheets.Count)
End If
xSht.Range("A" & xTRrow & ":A" & xRCount).EntireRow.Copy xNSht.Range("A1")
xNSht.Columns.AutoFit
Next
xSht.AutoFilterMode = False
xSht.Activate
Application.ScreenUpdating = xSUpdate
End Sub شرح المعاملات ونصائح الاستخدام:
- A1:C1 هو نطاق رؤوس جدول بياناتك. عدّل هذا المرجع ليتوافق مع نطاق رؤوس البيانات الفعلي لديك حسب الحاجة.
- يقوم الكود بتجميع القيم الفريدة من العمود المحدد (العمود A افتراضيًا)، ويُنشئ لكل قيمة فريدة ورقة عمل خاصة بها تتضمّن الصفوف المرتبطة بها.
- إذا كان جدولك أوسع أو يبدأ من صف مختلف، فقم بتحديث
xTitleومراجع الخلايا وفقًا لذلك. - إذا كانت ورقة العمل تحتوي على صيغ تشير إلى أوراق أخرى، فاحرص على التحقق من المراجع بعد التقسيم.
3. اضغط مفتاحF5 أو انقر فوقRun لتنفيذ الكود. بعد التنفيذ، سيتم إنشاء ورقة عمل جديدة بعد جميع الأوراق الموجودة في المصنف الحالي، ويتم تسمية كلٍّ منها وفقًا للقيمة الفريدة المختارة من العمود. راجع لقطة الشاشة أدناه لعرض نتيجة نموذجية:

إذا كنت ترغب في تقسيم كل صف ببساطة إلى ورقة عمل خاصة به—بغض النظر عن محتوى العمود—فيمكنك استخدام كود VBA البديل التالي، مما يلغي الحاجة إلى تحديد شرط لعمود معين.
كود VBA: إنشاء ورقة عمل جديدة مباشرةً لكل صف
Sub RowToSheet()
Dim xRow As Long
Dim I As Long
With ActiveSheet
xRow = .Range("A" & Rows.Count).End(xlUp).Row
For I = 1 To xRow
Worksheets.Add(, Sheets(Sheets.Count)).Name = "Row " & I
.Rows(I).Copy Sheets("Row " & I).Range("A1")
Next I
End With
End Sub بعد تشغيل هذا الكود في الوحدة، سيتم نسخ كل صف من ورقة العمل النشطة—بما في ذلك صف الرؤوس—إلى ورقة عمل تم إنشاؤها حديثًا. يُرجى ملاحظة أن صف الرؤوس سيُكرَّر أيضًا؛ لذا إذا كنت ترغب في تجنُّب ذلك، فقد تحتاج إلى حذفه أو تعديل أوراق الإخراج يدويًّا لاحقًا.
استكشاف الأخطاء وإصلاحها ونصائح عملية:
- إذا ظهر لك خطأ مثل «Subscript out of range»، فتأكد من أن أسماء أوراقك خالية من الأحرف غير المسموح بها، واحذف أي أسماء مكررة.
- قد تؤدي مجموعات البيانات الكبيرة إلى إنشاء عدد هائل من الأوراق، ما قد يُبطئ Excel أو يصعّب التنقّل بينها. لذا، فكّر جيدًا فيما إذا كان تقسيم الصفوف ضروريًّا فعليًّا للجداول الضخمة.
- احتفظ دائمًا بنسخة احتياطية من بياناتك قبل تشغيل كود VBA لتجنب فقدان البيانات غير المقصود.
المزايا:مجاني؛ وقابل للتخصيص بشكل كبير.
العيوب:يتطلب تمكين VBA/الماكرو وبعض الإلمام بمحرر VBA؛ وقد يحتوي الكود على أخطاء عند التعامل مع بيانات معقدة أو غير معتادة.
مناسب لـ:المستخدمين الذين يحتاجون إلى مرونة البرمجة، وللمهام التي تُنفَّذ لمرة واحدة أو بشكل غير منتظم.
إنشاء أوراق عمل جديدة لكل صف باستخدام أداة تقسيم البيانات من Kutools لـ Excel
إذا كنت تفضل نهجًا مباشرًا وسهل الاستخدام دون الحاجة إلى كتابة أي أكواد، فإن أداةتقسيم البياناتمنKutools لـ Excelموصى بها بشدة! تتيح لك هذه الأداة تقسيم البيانات إلى ورقة عمل جديدة في لمح البصر—ببضع نقرات فقط—ما يبسّط إدارة أوراق العمل بشكل كبير. وهي مثالية خصوصًا للمستخدمين الذين يتعاملون بانتظام مع جداول كبيرة ومعقدة، أو يفضلون الواجهات الرسومية على البرمجة اليدوية. تذكّر أن Kutools هي إضافة لـ Excel ويجب تثبيتها مسبقًا.
1. حدد الجدول الذي يحتوي على البيانات التي تريد تقسيمها إلى أوراق عمل فردية، ثم انقر فوق علامة التبويبKUTOOLS PLUS وحددتقسيم البيانات. راجع لقطة الشاشة أدناه للتوضيح:

2. في مربع الحوارتقسيم البيانات إلى ورقات عمل متعددة، اختر الإعدادات الأنسب لتلبية احتياجاتك في التقسيم.
أ. لإنشاء أوراق عمل جديدة استنادًا إلى قيم العمود:

ب. لإنشاء أوراق عمل جديدة فورًا لكل صف:

بعد التنفيذ، سيتم إنشاء ورقة عمل جديدة تحتوي على أوراق عمل جديدة—كلٌّ منها معبَّأ وفقًا للإعدادات التي اخترتها.
إنشاء أوراق عمل جديدة لكل صف استنادًا إلى قيم العمود:

إنشاء ورقة عمل جديدة لكل صف دون مراعاة قيم العمود:

احتياطات ونصائح عملية:
- قبل استخدام أداة تقسيم البيانات، تأكد من خلو جدولك من الصفوف الفارغة، إذ قد يؤدي وجودها إلى إنشاء أوراق عمل فارغة.
- راجع اتفاقيات تسمية أوراق العمل لتجنب التكرار أو الأسماء غير الصالحة؛ حيث سيقوم Kutools بتعديل الأسماء تلقائيًّا في حال حدوث تعارض.
- قد تؤدي هذه العملية إلى إنشاء عدد كبير من أوراق العمل إذا كان جدولك ضخمًا، لذا يُنصح بالتفكير جيدًا قبل المتابعة.
المزايا:سهلة الاستخدام ولا تتطلب أي مهارات برمجية؛ مثالية للمعالجة الدفعية والمهام المتكررة.
العيوب:تتطلب تثبيت إضافة Kutools.
مناسبة لـ:جميع مستويات مستخدمي Excel، خاصةً من يتعاملون بشكل متكرر مع تقسيم البيانات.
Kutools لـ Excel- عزِّز Excel بقوة أكثر من 300 أداة أساسية، لتجعل عملك أسرع وأسهل، واستفد من ميزات الذكاء الاصطناعي لمعالجة البيانات بشكل أكثر ذكاءً وزيادة الإنتاجية.احصل عليه الآن
عرض توضيحي: إنشاء أوراق عمل جديدة لكل صف باستخدام أداة تقسيم البيانات من Kutools لـ 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 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل