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

قم بإنشاء مجلدات ومجلدات فرعية متعددة من قائمة البيانات في Excel

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

إنشاء مجلدات بناءً على قيم الخلايا

قم بإنشاء المجلدات والمجلدات الفرعية بناءً على قيم الخلايا باستخدام رمز VBA


إنشاء مجلدات بناءً على قيم الخلايا

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

قم بإنشاء مجلدات من القائمة باستخدام أمر MD والمفكرة

يعد تحويل قائمة من Excel إلى مجلدات باستخدام أمر MD وNotepad خدعة ذكية تمزج بين البرمجة النصية المجمعة السهلة وموهبة Excel للحفاظ على تنظيم الأشياء. تعتبر هذه الطريقة رائعة لإنشاء الكثير من المجلدات بسرعة، دون الحاجة إلى القيام بذلك يدويًا. فيما يلي دليل خطوة بخطوة لإنجاز هذه المهمة:

الخطوة 1: استخدم الأمر MD لإنشاء الصيغ

انسخ الصيغة التالية أو أدخلها في خلية فارغة بجوار قيمة الخلية الأولى (B1، على سبيل المثال)، ثم اسحب مقبض التعبئة لأسفل لتطبيق الصيغة على جميع عناصر القائمة.

="MD "&A1

الخطوة 2: انسخ الصيغ والصقه في ملف المفكرة

  1. صحافة CTRL + C لنسخ الخلايا باستخدام صيغة أمر MD.
  2. ساعات العمل المفكرة والصحافة CTRL + V للصق الأوامر في ملف جديد.

الخطوة 3: احفظ ملف المفكرة كملف .bat

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

الخطوة 4: انقر نقرًا مزدوجًا فوق ملف .bat لإنشاء مجلدات متعددة

  1. أغلق ملف المفكرة، وانتقل إلى المجلد الذي قمت بحفظ ملف .bat فيه مسبقًا.
  2. الآن، شاهد السحر: انقر نقرًا مزدوجًا على الملف، وسترى مجلدات متعددة يتم إنشاؤها كلها مرة واحدة. انظر العرض التوضيحي أدناه:
 

قم بإنشاء مجلدات من قائمة باستخدام أداة قوية – Kutools for Excel

مع الأقوياء كوتولس ل إكسيلالصورة إنشاء مجلدات من محتويات الخلية الميزة، يمكنك الآن إنشاء مجلدات بسهولة وسرعة من قائمة Excel. ولكنها لا تتوقف عند المجلدات الأساسية فقط؛ يتيح لك Kutools أيضًا إنشاء هياكل معقدة بمجلدات فرعية متعددة المستويات دفعة واحدة. بضع خطوات بسيطة فقط يمكن أن تحول البيانات من Excel إلى نظام مجلد منظم، مما يعزز إنتاجيتك بشكل كبير.

ملاحظات: إذا كنت تريد استخدام هذا إنشاء مجلدات من محتويات الخلية الميزة من فضلك قم بتنزيل وتثبيت Kutools لبرنامج Excel لأول مرة.

بعد تثبيت كوتولس ل إكسيلالرجاء النقر كوتولس بلس > استيراد / تصدير > إنشاء مجلدات من محتويات الخلية لفتح إنشاء مجلدات من محتويات الخلية صندوق المحادثة:

  1. حدد قيم الخلايا التي تريد إنشاء مجلدات بناءً عليها؛
  2. ثم ، انقر فوق زر لتحديد المجلد الوجهة الذي تريد حفظ المجلدات فيه؛
  3. أخيرا ، انقر فوق OK .

النتيجة:

سيقوم Kutools بمعالجة القائمة من الورقة الخاصة بك وإنشاء مجلد لكل إدخال في الوجهة المحددة. انتقل إلى المجلد الوجهة لرؤية النتيجة. انظر لقطة الشاشة:

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

    ثم قم بتطبيق إنشاء مجلدات من محتويات الخلية الميزة، سيتم إنشاء كافة المجلدات مع المجلدات الفرعية الخاصة بها بنجاح. انظر لقطة الشاشة:
  2. لتطبيق هذه الميزة ، من فضلك قم بتنزيل وتثبيت Kutools لبرنامج Excel لأول مرة.
 

قم بإنشاء مجلدات من قائمة باستخدام كود VBA

يمكن أن يؤدي استخدام تعليمات VBA البرمجية في Excel إلى تحويل المهمة الشاقة المتمثلة في إنشاء مجلدات من قائمة إلى عملية تلقائية سريعة. سيوضح لك هذا القسم كيفية تطبيق كود VBA لإنشاء المجلدات.

الخطوة 1: افتح محرر وحدة VBA وانسخ الكود

  1. اضغط باستمرار ALT + F11 في Excel ، ويفتح ملف ميكروسوفت فيسوال باسيك للتطبيقات نافذة.
  2. انقر إدراج > وحدة، والصق الكود التالي في ملف وحدة نافذة او شباك.
    رمز VBA: إنشاء مجلدات بناءً على قائمة قيم الخلايا
    Sub CreateFoldersFromSelection()
    'Updateby Extendoffice
        Dim FolderPath As String
        Dim Cell As Range
        Dim SelectedRange As Range
        Dim FolderName As String
        On Error Resume Next
        Set SelectedRange = Application.InputBox("Select the range with folder names", "Kutools for Excel", Type:=8)
        If SelectedRange Is Nothing Then Exit Sub
        On Error GoTo 0
        
        With Application.FileDialog(msoFileDialogFolderPicker)
            .Title = "Select the destination Folder"
            .AllowMultiSelect = False
            If .Show <> -1 Then Exit Sub
            FolderPath = .SelectedItems(1) & "\"
        End With
        
        For Each Cell In SelectedRange
            FolderName = FolderPath & Cell.Value
            If Cell.Value <> "" And Not FolderExists(FolderName) Then
                MkDir FolderName
            End If
        Next Cell
    End Sub
    
    Function FolderExists(ByVal Path As String) As Boolean
        On Error Resume Next
        FolderExists = (GetAttr(Path) And vbDirectory) = vbDirectory
        On Error GoTo 0
    End Function
    

الخطوة 2: تنفيذ الكود

  1. بعد لصق هذا الرمز ، الرجاء الضغط F5 المفتاح لتشغيل هذا الكود في مربع المطالبة، حدد قيم الخلايا التي تريد إنشاء المجلدات منها. ثم انقر فوق OK.
  2. ثم في ما يلي حدد المجلد الوجهة في النافذة، حدد مسار الوجهة لإخراج المجلدات التي تم إنشاؤها. ثم انقر فوق OK زر ، انظر لقطة الشاشة:

النتيجة:

بعد تنفيذ كود VBA، توجه إلى الدليل الوجهة لعرض النتيجة. ستجد هناك المجلدات التي تم إنشاؤها حديثًا، ويتوافق كل منها مع عنصر من قائمة Excel الخاصة بك. انظر لقطة الشاشة:

نصيحة:
  1. إذا كانت هناك إدخالات مكررة في الخلايا، فسيؤدي تشغيل التعليمات البرمجية إلى إنشاء مجلد واحد فقط لتلك التكرارات.
  2. إذا وجدت نفسك تستخدم هذا الرمز بشكل متكرر، ففكر في حفظ المصنف الخاص بك فيه مصنف Excel الذي يدعم وحدات الماكرو شكل. يحافظ هذا الإجراء على التعليمات البرمجية داخل المصنف، مما يسمح لك بتنفيذها مباشرة في المستقبل دون الحاجة إلى إعادة إدخال التعليمات البرمجية أو إعادة استيرادها.

قم بإنشاء المجلدات والمجلدات الفرعية بناءً على قيم الخلايا باستخدام رمز VBA

في بعض الأحيان، قد تجد نفسك في موقف لا تحتاج فيه إلى إنشاء مجلدات فحسب، بل أيضًا المجلدات الفرعية المقابلة لها، وكل ذلك يعتمد على البيانات الموجودة في خلايا Excel. لتحقيق هذه المهمة، سأقدم هنا كود VBA.

الخطوة 1: تحضير البيانات

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

الخطوة 2: افتح محرر وحدة VBA وانسخ الكود

  1. اضغط باستمرار ALT + F11 في Excel ، ويفتح ملف ميكروسوفت فيسوال باسيك للتطبيقات نافذة.
  2. انقر إدراج > وحدة، والصق الكود التالي في ملف وحدة نافذة او شباك.
    رمز VBA: إنشاء قيم الخلايا المستندة إلى المجلدات والمجلدات الفرعية
    Sub CreateFoldersAndSubfoldersWithUserInput()
    'Updateby Extendoffice
        Dim Rng As Range
        Dim Cell As Range
        Dim basePath As String
        Dim fldrPicker As FileDialog
        Dim FolderPath As String, subfolderPath As String
        On Error Resume Next
        Set Rng = Application.InputBox("Select the range of cells (two columns: one is folder column, another s subfolder column):", "Kutools for Excel", Type:=8)
        If Rng Is Nothing Then Exit Sub
        On Error GoTo 0
        Set fldrPicker = Application.FileDialog(msoFileDialogFolderPicker)
        With fldrPicker
            .Title = "Select the Base Folder Path"
            .AllowMultiSelect = False
            If .Show <> -1 Then Exit Sub
            basePath = .SelectedItems(1)
        End With
        If Right(basePath, 1) <> "\" Then basePath = basePath & "\"
        For Each Cell In Rng.Columns(1).Cells
            If Not Cell.Value = "" Then
                FolderPath = basePath & Cell.Value
                If Not FolderExists(FolderPath) Then MkDir FolderPath
                If Not Cell.Offset(0, 1).Value = "" Then
                    subfolderPath = FolderPath & "\" & Cell.Offset(0, 1).Value
                    If Not FolderExists(subfolderPath) Then MkDir subfolderPath
                End If
            End If
        Next Cell
    End Sub
    
    Function FolderExists(FolderPath As String) As Boolean
        On Error Resume Next
        FolderExists = (GetAttr(FolderPath) And vbDirectory) = vbDirectory
        On Error GoTo 0
    End Function
    

الخطوة 3: تنفيذ الكود

  1. بعد لصق هذا الرمز ، الرجاء الضغط F5 المفتاح لتشغيل هذا الكود في مربع المطالبة، حدد قيم الخلايا التي تريد إنشاء المجلدات منها. ثم انقر فوق OK.
  2. في النافذة المنبثقة التالية، حدد مسار الوجهة لإخراج المجلدات التي تم إنشاؤها. ثم انقر فوق OK زر ، انظر لقطة الشاشة:

النتيجة:

بعد تنفيذ كود VBA، انتقل إلى الدليل الوجهة لعرض النتيجة. ستجد أن المجلدات والمجلدات الفرعية الخاصة بها، وفقًا لما تمليه قيم الخلية، قد تم إنشاؤها بنجاح كما هو موضح في لقطة الشاشة التالية:

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

مقالات ذات صلة:

  • سرد كافة المجلدات والمجلدات الفرعية في Excel
  • هل سبق لك أن عانيت من هذه المشكلة التي تسرد جميع المجلدات والمجلدات الفرعية من دليل محدد في ورقة عمل؟ في Excel ، لا توجد طريقة سريعة وسهلة للحصول على اسم جميع المجلدات الموجودة في دليل معين مرة واحدة. للتعامل مع المهمة ، قد تساعدك هذه المقالة.
  • انسخ الملفات أو انقلها من مجلد إلى آخر بناءً على القائمة
  • إذا كانت لديك قائمة بأسماء الملفات في عمود في ورقة العمل ، وتم تحديد موقع الملفات في مجلد في جهاز الكمبيوتر الخاص بك. ولكن ، الآن ، تحتاج إلى نقل أو نسخ هذه الملفات التي يتم سرد الأسماء في ورقة العمل من مجلدها الأصلي إلى مجلد آخر كما هو موضح في لقطة الشاشة التالية. كيف يمكنك إنهاء هذه المهمة بأسرع ما يمكن في Excel؟
  • إعادة تسمية ملفات متعددة للمجلد
  • قد يعاني معظمنا من هذه المشكلة التي نحتاجها لإعادة تسمية ملفات متعددة في مجلد ، وإعادة تسمية أسماء الملفات واحدة تلو الأخرى ستجعلنا مجانين إذا كان هناك مئات أو آلاف الملفات في هذا المجلد. هل هناك أي وظائف جيدة لنا للتعامل مع هذه المهمة؟
Comments (63)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
níže CZ verze

EN:

A better way to do this in a few seconds is to use cmd (.bat file)

If you have a list of names in excel, add the word MKdir in front of the name (folder name) and if it contains a space put the name in quotes. Then just copy it to notepad, save as and add the .bat extension. Once you have this, substitute the .bat file in the folder where it wants to be created and you're done.

If you want the cmd not to close write at the end of the puase like below

Here is the 3 word code *5* :

start
________
MKdir "Pixie Pin"

pause
________
end


this creates a folder named Pixie Pin in the folder where the command was run

CZ:

Lepší způsob jak to udělat během par sec. je použít cmd (.bat soubor)

Pokud máte seznam jmen v excelu, doplňte pomocí vzorečku slovo MKdir před jmeno (název složky) a pokud obsahuje mezeru dejte název do uvozovek. Poté stačí jen zkopírovat do oznámkového bloku (NotePad), dát uložit jako a dopsat příponu .bat . Jakmile toto máte, supsťte .bat soubor ve složce kde chce aby se vytvořili a máte to.

Pokud chcete aby se cmd nezavřelo napište na konec puase jako je níže

Zde je ten 3 slovný kód *5* :

start
________
MKdir "Pixie Pin"

pause
________
konec


toto vytvoří složku s názvem Pixie Pin ve složce kde byl příkaz spuštěn
This comment was minimized by the moderator on the site
This worked really well, even for someone with zero experience with VBA :-)
Would it be possible to adapt the macro or extend the macro to also create hyperlinks to the folders in the selected cells?
So for instance, Cell A3 is selected and you run the macro and the folder is created. Would it be possible to make cell A3 a hyperlink to the folder by expanding on the macro instead of doing that manually?
This comment was minimized by the moderator on the site
Hello, Marloes
To create hyperlinks for the cell values, the following vba code may help you:

First, please select the cell values, and then run this code, and select a folder for outputting the folders.

Sub MakeFoldersAndAddHyperlinksWithFolderSelection()
    Dim Rng As Range
    Dim maxRows, maxCols, r, c As Integer
    Dim folderPath As String
    Dim baseFolderPath As String
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    
    With fd
        If .Show = -1 Then
            baseFolderPath = .SelectedItems(1) & "\"
        Else
            MsgBox "No folder selected. Operation Cancelled."
            Exit Sub
        End If
    End With
    
    Set Rng = Selection
    maxRows = Rng.Rows.Count
    maxCols = Rng.Columns.Count
    
    For c = 1 To maxCols
        For r = 1 To maxRows
            folderPath = baseFolderPath & Rng.Cells(r, c).Value
            If Len(Dir(folderPath, vbDirectory)) = 0 Then
                MkDir folderPath
                On Error Resume Next
                ActiveSheet.Hyperlinks.Add Anchor:=Rng.Cells(r, c), Address:=folderPath, TextToDisplay:=Rng.Cells(r, c).Value
                On Error GoTo 0
            End If
        Next r
    Next c
End Sub


Please have a try, thank you!
This comment was minimized by the moderator on the site
please, i need that same macro but instead of saving them as folders, i need it to save as Excels.
This comment was minimized by the moderator on the site
is it possible to introduce a condition where if that condition is met the module can create 2 folders (each using a different path)?
if the first list of folders is in the A column then the condition occurs in the U column. The conditional criteria is whether the cell is empty or not.
if the condition is not met the module only makes one folder based on the selection.
This comment was minimized by the moderator on the site
Hi, a_c, sorry I have not found a method can solve this job yet.
This comment was minimized by the moderator on the site
Thank you very much
This comment was minimized by the moderator on the site
Thanks a lot! Your VBA code is really super
This comment was minimized by the moderator on the site
Is it possible to import data from a word to excel on colors algorythme? So, I spell the cities with red and countries with blue in a word, and the to import only these to excel. I don’t know if I made myself clear. Thanks
This comment was minimized by the moderator on the site
Thank you, this has saved me literally days of work.
This comment was minimized by the moderator on the site
Hello,


For the following code it shows error in

MkDir (ActiveWorkbook.Path & "\" & Rng(r, c))



It says Runtime error 76 path not found



Can someone please help me with this?

There are no unsupported characters in the file path.
Not sure what could be the problem

Thanks for the help!
This comment was minimized by the moderator on the site
thank you , time saved
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