انتقل إلى المحتوى الرئيسي

كيفية إنشاء أوراق جديدة لكل صف في Excel؟

لنفترض أن لديك جدول درجات يحتوي على جميع أسماء الطالب في العمود "أ". الآن تريد إنشاء أوراق جديدة بناءً على هذه الأسماء في العمود A ، وجعل كل ورقة تحتوي على بيانات طالب فريدة. أو قم فقط بإنشاء ورقة جديدة لكل صف في الجدول دون مراعاة الأسماء الموجودة في العمود A. في هذا الفيديو ، ستحصل على طرق لتحقيق ذلك.

قم بإنشاء أوراق جديدة لكل صف برمز VBA
قم بإنشاء أوراق جديدة لكل صف باستخدام الأداة المساعدة Split Data الخاصة بـ Kutools for Excel


قم بإنشاء أوراق جديدة لكل صف برمز VBA

باستخدام الرموز التالية ، يمكنك إنشاء ورقة جديدة استنادًا إلى قيم الأعمدة ، أو إنشاء أوراق جديدة فقط لكل صف في Excel.

1. صحافة قديم + F11 مفاتيح في نفس الوقت لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. في ال ميكروسوفت فيسوال باسيك للتطبيقات الإطار، انقر فوق إدراج > وحدة. ثم الصق الكود التالي في ملف وحدة نافذة.

كود فبا: أنشئ ورقة جديدة لكل صف على أساس العمود

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 هو نطاق عنوان الجدول الخاص بك. يمكنك تغييره بناءً على احتياجاتك.

3. صحافة F5 المفتاح لتشغيل الكود ، ثم يتم إنشاء أوراق عمل جديدة بعد جميع أوراق العمل الخاصة بالمصنف الحالي على النحو التالي لقطة الشاشة:

إذا كنت ترغب في إنشاء أوراق جديدة مباشرة لكل صف دون مراعاة قيمة العمود ، يمكنك استخدام الكود التالي.

كود فبا: أنشئ مباشرة ورقة جديدة لكل صف

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

بعد تشغيل الكود ، سيتم وضع كل صف في ورقة العمل النشطة في ورقة عمل جديدة.

ملاحظات: سيتم أيضًا وضع صف العنوان في ورقة جديدة برمز VBA هذا.


قم بإنشاء أوراق جديدة لكل صف باستخدام الأداة المساعدة Split Data الخاصة بـ Kutools for Excel

في الواقع ، الطريقة المذكورة أعلاه معقدة ويصعب فهمها. في هذا القسم ، نقدم لك ملف تقسيم البيانات فائدة كوتولس ل إكسيل.

قبل التطبيق كوتولس ل إكسيلالرجاء قم بتنزيله وتثبيته أولاً.

1. حدد الجدول الذي تريد استخدامه لإنشاء أوراق جديدة ، ثم انقر فوق كوتولس بلس> بيانات البصاق. انظر لقطة الشاشة:

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

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

1). الرجاء تحديد عمود محدد الخيار ، وتحديد العمود الذي تريد تقسيم البيانات بناءً عليه في القائمة المنسدلة ؛
2). إذا كنت تريد تسمية أوراق العمل بقيم العمود ، يرجى تحديد قيم العمود في ال قوانيـن قائمة منسدلة؛
3). انقر على OK زر. انظر لقطة الشاشة:

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

1). تحديد صفوف ثابتة الخيار ، أدخل الرقم 1 في الصندوق
2). تحديد أرقام الصفوف من قوانيـن قائمة منسدلة؛
3). انقر على OK زر. انظر لقطة الشاشة:

يتم إنشاء مصنف جديد مع كل الأوراق الجديدة بداخله. انظر لقطات أدناه.

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

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

  إذا كنت ترغب في الحصول على نسخة تجريبية مجانية (30 يومًا) من هذه الأداة المساعدة ، الرجاء الضغط لتنزيلهثم انتقل لتطبيق العملية حسب الخطوات المذكورة أعلاه.

قم بإنشاء أوراق جديدة لكل صف باستخدام الأداة المساعدة Split Data الخاصة بـ Kutools for Excel

أفضل أدوات إنتاجية المكتب

🤖 مساعد Kutools AI: إحداث ثورة في تحليل البيانات على أساس: التنفيذ الذكي   |  إنشاء التعليمات البرمجية  |  إنشاء صيغ مخصصة  |  تحليل البيانات وإنشاء الرسوم البيانية  |  استدعاء وظائف Kutools...
الميزات الشعبية: البحث عن التكرارات أو تمييزها أو تحديدها   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |   جولة بدون صيغة 
سوبر بحث: معايير متعددة VLookup    VLookup ذات القيمة المتعددة  |   VLookup عبر أوراق متعددة   |   بحث غامض ....
قائمة منسدلة متقدمة: إنشاء القائمة المنسدلة بسرعة   |  القائمة المنسدلة التابعة   |  قائمة منسدلة متعددة التحديد ....
مدير العمود: إضافة عدد محدد من الأعمدة  |  نقل الأعمدة  |  تبديل حالة رؤية الأعمدة المخفية  |  مقارنة النطاقات والأعمدة 
الميزات المميزة: التركيز على الشبكة   |  عرض تصميم   |   شريط الفورمولا الكبير    مدير المصنفات والأوراق   |  مكتبة الموارد (النص السيارات)   |  منتقي التاريخ   |  اجمع أوراق العمل   |  تشفير/فك تشفير الخلايا    إرسال رسائل البريد الإلكتروني عن طريق القائمة   |  سوبر تصفية   |   مرشح خاص (تصفية غامق / مائل / يتوسطه خط ...) ...
أفضل 15 مجموعة أدوات12 نص الأدوات (إضافة نص, إزالة الأحرف، ...)   |   +50 رسم الأنواع (مخطط جانت، ...)   |   40+ عملي الصيغ (احسب العمر على أساس تاريخ الميلاد، ...)   |   19 إدخال الأدوات (أدخل رمز الاستجابة السريعة, إدراج صورة من المسار، ...)   |   12 تحويل الأدوات (أرقام إلى كلمات, نتيجة تحويل عملة، ...)   |   7 دمج وتقسيم الأدوات (الجمع بين الصفوف المتقدمة, تقسيم الخلايا، ...)   |   ... و اكثر

عزز مهاراتك في Excel باستخدام Kutools for Excel، واختبر كفاءة لم يسبق لها مثيل. يقدم Kutools for Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية وتوفير الوقت.  انقر هنا للحصول على الميزة التي تحتاجها أكثر...

الوصف


يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
Comments (33)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
HI, Thanks for this wonder-full code, Can we get dynamic sheet, means if i update data in respective sheet it will get updated in main sheet.
This comment was minimized by the moderator on the site
Hi vikas chandra,
I can't fix this problem. Sorry about that.
This comment was minimized by the moderator on the site
Hi, I have a problem about title, the title range of my table is A1:AI2, when I changed the code like that it doesn't work.

***Note: A1:C1 is the title range of your table. You can change it based on your needs.***
This comment was minimized by the moderator on the site
Hello, thanks so much for this. I'm looking to modify the macro such that it will create a sheet for each row of a column and within each sheet have a function (average) that I can populate data into and in turn have the outcome linked back into the original sheet. Is this possible? I can try to clarify further if this doesn't make sense or is ambiguous.
This comment was minimized by the moderator on the site
Hi, is there a code which would add only 1 new sheet each time the macro is run, eg 1st time the new sheet would be named on the contents of cell A1, 2nd time the macro was run the new sheet would be named on the contents of A2 etc. thanks in anticipation
This comment was minimized by the moderator on the site
Hello, used this code and worked, but If I want select the more then one rows in header, what will be change in the code ? I have multiple lines in the sheet which I want in every sheet.
This comment was minimized by the moderator on the site
Hello, did you figured out how?
This comment was minimized by the moderator on the site
Hello! I just used this code and it worked! In addition to creating a new sheet for each entry, I want to transpose it to columns and can't figure it out. So for the above example, the output for Nana would look like this - Name NanaScore 86No. 2
This comment was minimized by the moderator on the site
<p> Nana
86
2</p>
This comment was minimized by the moderator on the site
How to reference the use of the code above (credit) ? Is it possible to modify the code ?
This comment was minimized by the moderator on the site
Hi, this is an open communication platform. The code is allowed to reference and modify.
This comment was minimized by the moderator on the site
Nevermind it was hidden trailing spaces. I used the TRIM feature and cleaned it up. Having a row count (line count really so rows -1 prepended to the sheet would be amazing)
This comment was minimized by the moderator on the site
Please can i get help on how to automatically name the sheets using a particular column. This is for the row to sheet VBA. See below

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
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations