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

كيفية تقسيم قائمة طويلة إلى مجموعات متساوية في إكسيل؟

قائمة تقسيم المستندات إلى مجموعات 4

إذا كانت لديك قائمة طويلة من البيانات التي يجب تقسيمها إلى مجموعات متساوية متعددة كما هو موضح في لقطة الشاشة التالية ، كيف يمكنك التعامل مع هذه المهمة بسرعة وسهولة في Excel؟

قسّم قائمة طويلة إلى مجموعات متعددة متساوية باستخدام رمز VBA

قسّم قائمة طويلة إلى مجموعات متعددة متساوية باستخدام Kutools for Excel


باستثناء نسخ البيانات ولصقها واحدًا تلو الآخر ، يمكن لرمز VBA التالي أيضًا أن يقدم لك خدمة ، يرجى اتباع الخطوات التالية:

1. اضغط باستمرار على ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

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

كود فبا: قسّم قائمة طويلة إلى مجموعات متعددة متساوية

Sub SplitIntoCellsPerColumn()
'updateby Extendoffice
    Dim xRg As Range
    Dim xOutRg As Range
    Dim xCell As Range
    Dim xTxt As String
    Dim xOutArr As Variant
    Dim I As Long, K As Long
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
Sel:
    Set xRg = Nothing
    Set xRg = Application.InputBox("please select data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Areas.Count > 1 Then
        MsgBox "does not support multiple selections, please select again", vbInformation, "Kutools for Excel"
        GoTo Sel
    End If
    If xRg.Columns.Count > 1 Then
        MsgBox "does not support multiple columns,please select again", vbInformation, "Kutools for Excel"
        GoTo Sel
    End If
    Set xOutRg = Application.InputBox("please select a cell to put the result:", "Kutools for Excel", , , , , , 8)
    If xOutRg Is Nothing Then Exit Sub
    I = Application.InputBox("the number of cell per column:", "Kutools for Excel", , , , , , 1)
    If I < 1 Then
        MsgBox "incorrect enter", vbInformation, "Kutools for Excel"
        Exit Sub
    End If
    ReDim xOutArr(1 To I, 1 To Int(xRg.Rows.Count / I) + 1)
    For K = 0 To xRg.Rows.Count - 1
      xOutArr(1 + (K Mod I), 1 + Int(K / I)) = xRg.Cells(K + 1)
    Next
    xOutRg.Range("A1").Resize(I, UBound(xOutArr, 2)) = xOutArr
End Sub

3. ثم اضغط F5 مفتاح لتشغيل هذا الرمز ، وفي المربع المنبثق ، يرجى تحديد العمود الذي تريد تقسيمه إلى مجموعات متعددة ، انظر لقطة الشاشة:

قائمة تقسيم المستندات إلى مجموعات 1

4. وانقر OK زر ، ثم حدد خلية حيث تريد تحديد النتيجة في مربع المطالبة التالي ، انظر لقطة الشاشة:

قائمة تقسيم المستندات إلى مجموعات 2

5. انقر OK، ويرجى إدخال عدد الخلايا التي تريد تقسيمها لكل عمود في مربع المطالبة ، انظر الصورة:

قائمة تقسيم المستندات إلى مجموعات 3

6. وأخيرا، انقر فوق OK لإنهاء الكود ، وتم تقسيم بيانات القائمة المحددة إلى مجموعات متساوية متعددة حسب حاجتك ، انظر الصورة:

قائمة تقسيم المستندات إلى مجموعات 4


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

كوتولس ل إكسيل : مع أكثر من 300 وظيفة إضافية مفيدة في Excel ، يمكنك تجربتها مجانًا دون قيود في أيام 30. 

بعد تثبيت كوتولس ل إكسيليرجى القيام بما يلي:

1. حدد القائمة الطويلة التي تريد تقسيمها ، ثم انقر فوق كوتولس > الفترة (من ... إلى) > نطاق التحويل، انظر لقطة الشاشة:

2. في نطاق التحويل مربع الحوار، حدد عمود واحد للنطاق تحت نوع التحويل القسم ، ثم تحقق قيمة ثابتة وحدد عدد الخلايا لكل صف في المربع ، انظر لقطة الشاشة:

قائمة تقسيم المستندات إلى مجموعات 7

3. ثم اضغط Ok، وحدد خلية حيث تريد تحديد النتيجة في مربع المطالبة ، انظر لقطة الشاشة:

قائمة تقسيم المستندات إلى مجموعات 8

4. وانقر OK ، تم تقسيم البيانات الموجودة في القائمة إلى مجموعات متعددة متساوية حسب حاجتك.

قم بتنزيل Kutools for Excel والإصدار التجريبي المجاني الآن!


كوتولس ل إكسيل: مع أكثر من 300 وظيفة إضافية مفيدة في Excel ، يمكنك تجربتها مجانًا دون قيود خلال 30 يومًا. تنزيل وتجربة مجانية الآن!

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

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

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

علامة تبويب kte 201905


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

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
the code works great for me. How do I change it from asking how many in each colum to how many columns needed? so that it equally divides the information into a set number of columns.
This comment was minimized by the moderator on the site
Hello, trinetta,
May be the following article can help you, in that article, there are some formulas may meet your need. Please check it:
https://www.extendoffice.com/documents/excel/681-excel-change-columns-to-rows.html
This comment was minimized by the moderator on the site
The link only tells me how to do the same thing. It doesnt tell me how to tell the code or formula how many columns i need...just how many in each column.
This comment was minimized by the moderator on the site
Hi, Tpdixon,
In that article, the formula: =OFFSET($A$1,COLUMNS($A1:A1)-1+(ROWS($1:1)-1)*5 can help you to split the list into mulitiple columns, you just need to change the number 5 to other number you need, it represents the column number.
After entering this formula, you should drag the fill handle acrross to right with 5 cells.
Please try, thank you!
This comment was minimized by the moderator on the site
how can I change it from the number of cells per column to the number of columns needed. so that the data is split up evenly amongst a number of columns instead of picking how many to have in each column?
This comment was minimized by the moderator on the site
I copied the code and Excel 365 says syntax error.
This comment was minimized by the moderator on the site
This comes in very handy! One question: In the VBA code how can I transpose the output? So instead of xRg.Rows.Count / I = number of colums output, the output is generated as xRg.Rows.Count / I = number of rows output with I being the number of columns per row.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations