كيفية إنشاء أوراق جديدة لكل صف في 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، انقر فوق إدراج > وحدة لإضافة وحدة كود جديدة. ثم انسخ والصق الكود التالي في نافذة الوحدة.
كود 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 أو انقر فوق تشغيل لتنفيذ الكود. سيتم إنشاء أوراق عمل جديدة بعد جميع الأوراق الموجودة في المصنف الحالي، وكل واحدة منها تحمل اسمًا بناءً على القيمة الفريدة المختارة للعمود. راجع لقطة الشاشة أدناه لعينة النتيجة:
إذا كنت ترغب ببساطة في تقسيم كل صف إلى ورقة عمل خاصة به، بغض النظر عن محتوى العمود، يمكنك استخدام الكود البديل التالي لـ 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
بعد تشغيل هذا الكود في الوحدة، سيتم نسخ كل صف من ورقة العمل النشطة - بما في ذلك صف العنوان - إلى ورقة عمل جديدة تم إنشاؤها. لاحظ أن صف العنوان يتم تكراره أيضًا؛ إذا كنت ترغب في تجنب ذلك، قد تحتاج إلى حذف أو تعديل الأوراق الناتجة يدويًا لاحقًا.
حل المشكلات ونصائح عملية:
- إذا واجهت خطأ مثل "المؤشر السفلي خارج النطاق"، تأكد من أن أسماء الأوراق لا تحتوي على أحرف غير صالحة أو أسماء مكررة.
- قد تؤدي مجموعات البيانات الكبيرة إلى عدد كبير من الأوراق، مما قد يؤدي إلى إبطاء Excel أو يجعل التنقل مرهقًا. فكر فيما إذا كان تقسيم الصفوف ضروريًا بالنسبة للجداول الكبيرة للغاية.
- دائمًا احتفظ بنسخة احتياطية من بياناتك قبل تشغيل كود VBA لمنع فقدان البيانات غير المقصود.
المزايا: مجاني؛ قابل للتخصيص بشكل كبير.
العيوب: يتطلب تمكين VBA/الماكرو وبعض الإلمام بمحرر VBA؛ هناك احتمال حدوث أخطاء في الكود مع بيانات معقدة أو غير عادية.
مناسب لـ: المستخدمين الذين يحتاجون إلى مرونة البرمجة، وللمهام التي تُجرى مرة واحدة أو بشكل غير منتظم.
إنشاء أوراق جديدة لكل صف باستخدام أداة تقسيم البيانات من Kutools لـ Excel
إذا كنت تفضل نهجًا مباشرًا وسهل الاستخدام دون كتابة كود، فإن أداة تقسيم البيانات من Kutools لـ Excel موصى بها بشدة. تساعدك هذه الوظيفة على تقسيم البيانات إلى أوراق عمل جديدة بسرعة ببضع نقرات فقط، مما يُبسط بشكل كبير عملية إدارة الأوراق. يعتبر Kutools مفيدًا بشكل خاص للمستخدمين الذين يتعاملون بانتظام مع جداول كبيرة ومعقدة أو الذين يفضلون واجهات رسومية على البرمجة اليدوية. يرجى ملاحظة أن Kutools هو إضافة Excel ويجب تثبيتها مسبقًا.
1. حدد الجدول الذي يحتوي على البيانات التي تريد تقسيمها إلى أوراق عمل فردية. ثم انقر فوق تبويب Kutools Plus وحدد تقسيم البيانات. راجع لقطة الشاشة أدناه للوضوح:
2. في مربع الحوار تقسيم البيانات إلى أوراق عمل متعددة، اختر الإعدادات المناسبة بناءً على احتياجات التقسيم الخاصة بك.
أ. لإنشاء أوراق جديدة بناءً على قيم الأعمدة:
ب. لإنشاء أوراق جديدة مباشرة لكل صف:
بعد التنفيذ، سيتم إنشاء مصنف جديد يحتوي على جميع الأوراق الجديدة - كل منها مملوءة وفقًا للإعدادات التي اخترتها.
إنشاء أوراق جديدة لكل صف بناءً على قيم الأعمدة:
إنشاء ورقة جديدة لكل صف دون مراعاة قيم الأعمدة:
احتياطات ونصائح عملية:
- قبل استخدام أداة تقسيم البيانات، تأكد من عدم وجود صفوف فارغة في جدولك، حيث يمكن أن تؤدي إلى أوراق فارغة.
- راجع اصطلاحات تسمية الأوراق لتجنب الأسماء المكررة أو غير الصالحة؛ سيقوم Kutools بضبطها تلقائيًا إذا حدث تعارض في الأسماء.
- يمكن أن تولد العملية عددًا كبيرًا من أوراق العمل إذا كان جدولك كبيرًا جدًا، لذا فكر في هذا قبل المتابعة.
المزايا: سهل الاستخدام ولا يتطلب أي برمجة؛ مناسب لمعالجة الدفعات والمهمات المتكررة.
العيوب: يتطلب تثبيت إضافة Kutools.
مناسب لـ: جميع مستويات مستخدمي Excel، خاصة أولئك الذين يتعاملون مع تقسيم البيانات المتكرر.
Kutools لـ Excel - قم بتعزيز Excel بأكثر من 300 أدوات أساسية. استمتع بميزات ذكاء اصطناعي مجانية بشكل دائم! احصل عليه الآن
عرض توضيحي: إنشاء أوراق جديدة لكل صف باستخدام أداة تقسيم البيانات من Kutools لـ Excel
أفضل أدوات زيادة الإنتاجية لمجموعة Office
عزز مهاراتك في Excel مع Kutools لـ Excel، وتمتع بكفاءة غير مسبوقة. يقدم Kutools لـ Excel أكثر من300 ميزة متقدمة لتعزيز الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يجلب تجربة التبويبات إلى Office، ويجعل عملك أسهل بكثير
- فعّل تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint
- افتح وأنشئ مستندات متعددة في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ جديدة.
- يمنحك زيادة إنتاجية تصل إلى50% ويوفر عليك مئات النقرات يومياً!