كيفية تقسيم جدول كبير إلى عدة جداول صغيرة في Excel؟
إذا كان لديك جدول كبير في Excel يحتوي على عدة أعمدة ومئات أو آلاف الصفوف، قد ترغب في تقسيمه إلى جداول أصغر وأكثر قابلية للإدارة. على سبيل المثال، قد تحتاج إلى فصل البيانات بناءً على قيم عمود معين أو تقسيمها إلى أجزاء تحتوي على عدد ثابت من الصفوف. يقدم هذا الدليل خطوات لتنفيذ هذه المهمة بفعالية.
الجدول الرئيسي | تقسيم الجدول إلى عدة جداول حسب قيمة العمود | تقسيم الجدول إلى عدة جداول حسب عدد الصفوف | |
![]() | ![]() | ![]() | ![]() |
تقسيم جدول كبير إلى عدة جداول بناءً على قيمة العمود باستخدام كود VBA
تقسيم جدول كبير إلى عدة جداول بناءً على عدد محدد من الصفوف باستخدام كود VBA
تقسيم جدول كبير إلى عدة جداول بناءً على قيمة العمود أو عدد الصفوف باستخدام Kutools لـ Excel
تقسيم جدول كبير إلى عدة جداول بناءً على قيمة العمود باستخدام كود VBA
لتقسيم هذا الجدول الكبير إلى عدة جداول بناءً على قيمة عمود معينة، يمكن أن يساعدك الكود التالي الخاص بـ VBA. يرجى القيام بما يلي:
1. اضغط باستمرار على مفتاحي "ALT" + "F11" لفتح نافذة "Microsoft Visual Basic for Applications".
2. انقر على "إدراج" > "وحدة"، والصق الكود التالي في نافذة "الوحدة".
كود VBA: تقسيم جدول كبير إلى عدة جداول حسب العمود الرئيسي:
Sub Splitdatabycol()
'by Extendoffice
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWSTRg As Worksheet
On Error Resume Next
Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", "", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
Application.DisplayAlerts = False
If Not Evaluate("=ISREF('xTRgWs_Sheet!A1')") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
Else
Sheets("xTRgWs_Sheet").Delete
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
End If
Set xWSTRg = Sheets("xTRgWs_Sheet")
xTRg.Copy
xWSTRg.Paste Destination:=xWSTRg.Range("A1")
ws.Activate
For i = (titlerow + xTRg.Rows.Count) To lr
On Error Resume Next
If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
ws.Columns(icol).Clear
For i = 2 To UBound(myarr)
ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
Sheets(myarr(i) & "").Paste Destination:=Sheets(myarr(i) & "").Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A" & (titlerow + xTRg.Rows.Count))
Sheets(myarr(i) & "").Columns.AutoFit
Next
xWSTRg.Delete
ws.AutoFilterMode = False
ws.Activate
Application.DisplayAlerts = True
End Sub
3. بعد لصق الكود، اضغط على مفتاح "F5" لتشغيل هذا الكود، وسيظهر مربع منبثق، يرجى تحديد صف العنوان من بياناتك، انظر إلى الصورة:
4. ثم، انقر على "موافق"، وستظهر نافذة أخرى، يرجى تحديد بيانات العمود الذي تريد تقسيم الجدول بناءً عليه، انظر إلى الصورة:
5. انقر على "موافق". تم الآن تقسيم الجدول الكبير إلى أوراق عمل متعددة بناءً على قيم الأعمدة، مع وجود الأوراق الجديدة بعد الورقة الرئيسية. وقد تم تسمية الأوراق الجديدة بالقيم الموجودة في العمود. انظر إلى الصورة:
تقسيم جدول كبير إلى عدة جداول بناءً على عدد محدد من الصفوف باستخدام كود VBA
إذا كنت بحاجة إلى تقسيم الجدول إلى عدة جداول بناءً على عدد الصفوف، يمكن أن يساعدك الكود التالي الخاص بـ VBA.
1. اضغط باستمرار على مفتاحي "ALT" + "F11" لفتح نافذة "Microsoft Visual Basic for Applications".
2. انقر على "إدراج" > "وحدة"، والصق الكود التالي في نافذة "الوحدة".
كود VBA: تقسيم جدول كبير إلى عدة جداول حسب عدد الصفوف:
Sub Splitdatabyrows()
'Updated by Extendoffice
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
Dim xTRg As Range
Dim xNTRg As Range
Dim xIER
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set xTRg = Application.InputBox("Please select the header row:", xTitleId, "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set WorkRng = Application.InputBox("Please select the data range(exclude the header row):", xTitleId, WorkRng.Address, Type:=8)
If TypeName(WorkRng) = "Nothing" Then Exit Sub
SplitRow = Application.InputBox("Split Row Num", xTitleId, Type:=1)
If SplitRow = 0 Then Exit Sub
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
xIER = WorkRng.Rows.Count
xIER = WorkRng.Row + xIER - 1
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
resizeCount = SplitRow
If (xIER - xRow.Row + 1) < SplitRow Then
resizeCount = (xIER - xRow.Row + 1)
End If
xRow.Resize(resizeCount).Copy
Set xWs = Application.Worksheets.Add(after:=Application.Worksheets(Application.Worksheets.Count))
If xIER > (xRow.Row + SplitRow - 1) Then
xWs.Name = xRow.Row & " - " & (xRow.Row + SplitRow - 1)
ElseIf xIER = xRow.Row Then
xWs.Name = xRow.Row
Else
xWs.Name = xRow.Row & " - " & xIER
End If
Application.ActiveSheet.Range("A1").PasteSpecial
Set xNTRg = Application.ActiveSheet.Range("A1")
xTRg.Copy
xNTRg.Insert
Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. ثم، اضغط على مفتاح "F5"، وفي النافذة المنبثقة، حدد صف العنوان، انظر إلى الصورة:
4. ثم، انقر على "موافق"، وفي النافذة الثانية، حدد نطاق البيانات التي تريد تقسيمها حسب عدد الصفوف، انظر إلى الصورة:
5. وبعد ذلك، استمر بالنقر على زر "موافق"، وفي النافذة الثالثة، أدخل عدد الصفوف التي تريد التقسيم بناءً عليها، انظر إلى الصورة:
6. ثم، انقر على زر "موافق"، تم تقسيم الجدول الرئيسي إلى أوراق عمل متعددة بناءً على عدد الصفوف كما هو موضح في الصورة أدناه:
تقسيم جدول كبير إلى عدة جداول بناءً على قيمة العمود أو عدد الصفوف باستخدام Kutools لـ Excel
قد تكون الأكواد السابقة صعبة بالنسبة لمعظم المستخدمين، لذلك سأقدم هنا ميزة رائعة - "تقسيم البيانات" من "Kutools لـ Excel". باستخدام هذه الأداة، يمكنك تقسيم جدول كبير إلى عدة جداول حسب العمود الرئيسي أو عدد الصفوف بسرعة وسهولة.
1. حدد نطاق البيانات الذي تريد تقسيمه، ثم انقر على "Kutools Plus" > "تقسيم البيانات"، انظر إلى الصورة:
2. في مربع الحوار "تقسيم البيانات إلى أوراق عمل متعددة"، حدد الإعدادات حسب حاجتك:
(1.) حدد "تحديد عمود" أو "عدد صفوف ثابت" من قسم "أساس التقسيم" حسب الحاجة؛
(2.) حدد اسم الأوراق الجديدة من قائمة القواعد المنسدلة، ويمكنك أيضًا إضافة "بادئة" أو "لاحقة" لأسماء الأوراق.
3. ثم، انقر على زر "موافق"، والآن تم تقسيم الجدول الكبير إلى عدة جداول صغيرة في مصنف جديد. انظر إلى الصور:
تقسيم الجدول إلى عدة جداول حسب قيمة العمود | تقسيم الجدول إلى عدة جداول حسب عدد الصفوف |
![]() | ![]() |
Kutools لـ Excel - قم بتعزيز Excel بأكثر من 300 أدوات أساسية. استمتع بميزات ذكاء اصطناعي مجانية بشكل دائم! احصل عليه الآن
مقالات ذات صلة:
- تقسيم مصنف إلى ملفات Excel منفصلة في Excel
- قد تحتاج إلى تقسيم مصنف كبير إلى ملفات Excel منفصلة عن طريق حفظ كل ورقة عمل من المصنف كملف Excel مستقل. على سبيل المثال، يمكنك تقسيم مصنف إلى عدة ملفات Excel فردية ومن ثم تسليم كل ملف إلى شخص مختلف للتعامل معه. بهذه الطريقة، يمكنك الحصول على أشخاص معينين للتعامل مع بيانات محددة والحفاظ على بياناتك آمنة. سيقدم هذا المقال طرقًا لتقسيم مصنف كبير إلى ملفات Excel منفصلة بناءً على كل ورقة عمل.
- تقسيم الاسم الكامل إلى الاسم الأول والأخير في Excel
- لنفترض أن لديك قائمة بأسماء كما هو موضح في أول لقطة شاشة في عمود واحد أدناه، وتحتاج إلى تقسيم الاسم الكامل إلى عمود الاسم الأول، عمود الاسم الأوسط وعمود الاسم الأخير كما هو موضح في لقطة الشاشة التالية. إليك بعض الطرق الذكية لمساعدتك في حل هذه المشكلة.
- تقسيم عمود طويل إلى عدة أعمدة في Excel
- إذا كان لديك عمود طويل من البيانات في Excel والذي سيكون مشكلة عند عرضه. ولكن الآن إذا تمكنت من تقسيم مثل هذه القائمة الطويلة إلى عدة أعمدة في Excel، فسيجعل العرض أكثر سهولة.
- تقسيم كلمة أو رقم إلى خلايا منفصلة في Excel
- إذا كان لديك قائمة من الأرقام أو الكلمات في ورقة عمل، والآن تحتاج إلى تقسيم محتويات الخلية إلى أحرف في خلايا مختلفة كما هو موضح في لقطة الشاشة التالية، كيف يمكنك التعامل مع هذه المهمة في Excel؟
- تقسيم قائمة طويلة إلى مجموعات متساوية في Excel
- إذا كانت لديك قائمة طويلة من البيانات تحتاج إلى تقسيمها إلى مجموعات متعددة متساوية كما هو موضح في لقطة الشاشة التالية، كيف يمكنك التعامل مع هذه المهمة بسرعة وسهولة في Excel؟
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!