Ana içeriğe atla

Excel'deki bir veri listesinden birden fazla klasör ve alt klasör oluşturun

Bir çalışma sayfası aralığında personel adlarından oluşan bir listeniz olduğunu ve her birinin bilgilerini depolayacağı ayrı klasörler oluşturmayı hedeflediğinizi varsayalım. Her klasörü manuel olarak oluşturmak zaman alıcı olabilir. Ancak bu süreci hızlandıracak etkili yöntemler vardır. Bu kılavuzda, belirtilen hücre değerlerine dayalı olarak hızlı bir şekilde klasörler oluşturmaya yönelik çeşitli yaklaşımları paylaşacağım.

Hücre değerlerine dayalı klasörler oluşturma

VBA koduyla hücre değerlerine göre klasörler ve alt klasörler oluşturun


Hücre değerlerine dayalı klasörler oluşturma

Bu bölümde, hücre değerleri listesine dayalı olarak hızlı ve zahmetsizce klasörler oluşturmak için kapsamlı adım adım talimatlar sunarak çeşitli yöntemleri ayrıntılı olarak inceleyeceğiz.

MD komutunu ve Not Defteri'ni kullanarak listeden klasörler oluşturun

MD komutunu ve Not Defteri'ni kullanarak bir listeyi Excel'den klasörlere dönüştürmek, kolay toplu komut dosyası oluşturmayı Excel'in işleri düzenli tutma becerisiyle birleştiren akıllı bir numaradır. Bu yöntem, hepsini elle yapmak zorunda kalmadan hızlı bir şekilde çok sayıda klasör oluşturmak için mükemmeldir. İşte bu görevi gerçekleştirmek için adım adım bir kılavuz:

Adım 1: Formüller oluşturmak için MD komutunu kullanın

Aşağıdaki formülü ilk hücre değerinizin (örneğin B1) yanındaki boş bir hücreye kopyalayın veya girin ve ardından formülü tüm liste öğelerinize uygulamak için doldurma tutamacını aşağı sürükleyin.

="MD "&A1

Adım 2: Formülleri kopyalayıp bir Not Defteri dosyasına yapıştırın

  1. Basın Ctrl + C MD komut formülüyle hücreleri kopyalamak için.
  2. Açılış Not Defteri ve basın Ctrl + V komutları yeni bir dosyaya yapıştırmak için.

3. Adım: Not Defteri dosyasını .bat dosyası olarak kaydedin

Tıkla Olarak kaydet itibaren fileto Not Defteri'ndeki sekmede, Olarak kaydet iletişim kutusunda, birden fazla klasör oluşturmak istediğiniz dizini seçin ve ardından bu dosyaya bir ad verin. . Bitirin eklenti. Son olarak tıklayın İndirim buton. Ekran görüntüsüne bakın:

Adım 4: Birden fazla klasör oluşturmak için .bat dosyasına çift tıklayın

  1. Not Defteri dosyasını kapatın, daha önce .bat dosyasını kaydettiğiniz klasöre gidin.
  2. Şimdi sihire tanık olun: Dosyaya çift tıklayın, birden fazla klasörün aynı anda oluşturulduğunu göreceksiniz. Aşağıdaki demoya bakın:
 

Güçlü bir araç kullanarak listeden klasörler oluşturun - Kutools for Excel

güçlü olanla Kutools for Excel'S Hücre İçeriklerinden Klasörler Oluşturun özelliği sayesinde artık Excel listesinden kolay ve hızlı bir şekilde klasörler oluşturabilirsiniz. Ancak bu yalnızca temel klasörlerle bitmiyor; Kutools ayrıca tek seferde çok seviyeli alt klasörlerle karmaşık yapılar oluşturmanıza da olanak tanır. Yalnızca birkaç basit adım, verileri Excel'den düzenli bir klasör sistemine dönüştürebilir ve üretkenliğinizi önemli ölçüde artırabilir.

not: Bunu kullanmak istiyorsanız Hücre İçeriklerinden Klasörler Oluşturun özellik lütfen Kutools for Excel'i indirip yükleyin İlk.

Kurduktan sonra Kutools for Excel, lütfen tıklayın Kutools Artı > İthalat / İhracat > Hücre İçeriklerinden Klasörler Oluşturun açmak için Hücre İçeriklerinden Klasörler Oluşturun iletişim kutusu:

  1. Temel olarak klasör oluşturmak istediğiniz hücre değerlerini seçin;
  2. Ardından, klasörleri kaydetmek istediğiniz hedef klasörü belirtmek için düğme;
  3. Son olarak tıklayın OK düğmesine basın.

Sonuç:

Kutools listeyi sayfanızdan işleyecek ve belirtilen hedefteki her giriş için bir klasör oluşturacaktır. Sonucu görmek için hedef klasöre gidin. Ekran görüntüsüne bakın:

İpuçları:
  1. Bu kullanışlı özellik aynı zamanda şu konularda da yardımcı olabilir: alt klasörleriyle birlikte klasörler oluşturun gerek duyduğunuz kadar. Bunu yapmak için, istediğiniz klasör ve alt klasör adlarını, her düzeyi ayırmak için ters eğik çizgi (\) kullanarak hücrelere girmelisiniz. Her hücrenin içeriği, istenen klasör ve alt klasör yapısını ayarlamak için bir kılavuz görevi görecektir.

    Daha sonra şunları uygulayın: Hücre İçeriklerinden Klasörler Oluşturun özelliği, tüm klasörler alt klasörleriyle birlikte başarıyla oluşturulacaktır. Ekran görüntüsüne bakın:
  2. Bu özelliği uygulamak için lütfen Kutools for Excel'i indirip yükleyin İlk.
 

VBA kodunu kullanarak listeden klasörler oluşturma

Excel'de VBA kodunu kullanmak, bir listeden klasör oluşturma gibi sıkıcı bir görevi hızlı, otomatik bir sürece dönüştürebilir. Bu bölüm size klasör oluşturmak için VBA kodunu nasıl uygulayacağınızı gösterecektir.

Adım 1: VBA modül düzenleyicisini açın ve kodu kopyalayın

  1. basılı tutun ALT + F11 Excel'de anahtarlar ve açılır Uygulamalar için Microsoft Visual Basic pencere.
  2. Tıkla Ekle > modülve aşağıdaki kodu modül Pencere.
    VBA kodu: Hücre değerleri listesine göre klasörler oluşturun
    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
    

Adım 2: Kodu yürütün

  1. Bu kodu yapıştırdıktan sonra lütfen F5 Bu kodu çalıştırmak için tuşuna basın. Bilgi istemi kutusunda, klasör oluşturmak istediğiniz hücre değerlerini seçin. Ve ardından tıklayın OK.
  2. Daha sonra aşağıdaki Hedef Klasörü seçin penceresinde, oluşturulan klasörlerin çıktısının alınacağı hedef yolu belirtin. Ve ardından tıklayın OK düğmesi, ekran görüntüsüne bakın:

Sonuç:

VBA kodunu çalıştırdıktan sonra sonucu görüntülemek için hedef dizine gidin. Burada, her biri Excel listenizdeki bir öğeye karşılık gelen yeni oluşturulan klasörleri bulacaksınız. ekran görüntüsüne bakın:

İpuçları:
  1. Hücrelerde yinelenen girişler varsa, kodun çalıştırılması bu kopyalar için yalnızca bir klasörün oluşturulmasına neden olur.
  2. Bu kodu sık sık kullandığınızı düşünüyorsanız çalışma kitabınızı kaydetmeyi düşünün. Excel Makro Etkinleştirilmiş çalışma kitabı biçim. Bu eylem, kodu çalışma kitabında korur ve gelecekte kodu yeniden girmenize veya yeniden içe aktarmanıza gerek kalmadan doğrudan yürütmenize olanak tanır.

VBA koduyla hücre değerlerine göre klasörler ve alt klasörler oluşturun

Bazen kendinizi yalnızca klasörler değil aynı zamanda bunlara karşılık gelen alt klasörleri de Excel hücrelerindeki verilere dayalı olarak oluşturmanız gereken bir durumda bulabilirsiniz. Bu görevi gerçekleştirmek için burada bir VBA kodu tanıtacağım.

Adım 1: Verileri hazırlayın

Öncelikle verileri aşağıdaki ekran görüntüsündeki gibi girmeli, ana klasör adlarını ilk sütuna, alt klasör adlarını da ikinci sütuna yerleştirmelisiniz.

Adım 2: VBA modül düzenleyicisini açın ve kodu kopyalayın

  1. basılı tutun ALT + F11 Excel'de anahtarlar ve açılır Uygulamalar için Microsoft Visual Basic pencere.
  2. Tıkla Ekle > modülve aşağıdaki kodu modül Pencere.
    VBA kodu: Hücre değerlerine dayalı klasörler ve alt klasörler oluşturun
    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
    

Adım 3: Kodu yürütün

  1. Bu kodu yapıştırdıktan sonra lütfen F5 Bu kodu çalıştırmak için tuşuna basın. Bilgi istemi kutusunda, klasör oluşturmak istediğiniz hücre değerlerini seçin. Ve ardından tıklayın OK.
  2. Aşağıdaki açılan pencerede, oluşturulan klasörlerin çıktısının alınacağı hedef yolu belirtin. Ve ardından tıklayın OK düğmesi, ekran görüntüsüne bakın:

Sonuç:

VBA kodunu çalıştırdıktan sonra sonucu görüntülemek için hedef dizine gidin. Hücre değerlerinin belirttiği şekilde klasörlerin ve ilgili alt klasörlerinin aşağıdaki ekran görüntüsünde başarıyla oluşturulduğunu göreceksiniz:

İpuçları:
  1. Bu kod yalnızca ana klasörleri ve bunların birinci düzey alt klasörlerini oluşturmak için kullanılabilir.
  2. Bu kodu sık sık kullandığınızı düşünüyorsanız çalışma kitabınızı kaydetmeyi düşünün. Excel Makro Etkinleştirilmiş çalışma kitabı biçim. Bu eylem, kodu çalışma kitabında korur ve gelecekte kodu yeniden girmenize veya yeniden içe aktarmanıza gerek kalmadan doğrudan yürütmenize olanak tanır.

İlgili Makaleler:

  • Excel'deki tüm klasörleri ve alt klasörleri listeleyin
  • Belirli bir dizindeki tüm klasörleri ve alt klasörleri bir çalışma sayfasına listeleyen bu sorunla hiç karşılaştınız mı? Excel'de, belirli bir dizindeki tüm klasörlerin adını aynı anda almanın hızlı ve kullanışlı bir yolu yoktur. Görevin üstesinden gelmek için bu makale size yardımcı olabilir.
  • Listeye göre dosyaları bir klasörden diğerine kopyalayın veya taşıyın
  • Bir çalışma sayfasındaki bir sütunda dosya adları listeniz varsa ve dosyalar bilgisayarınızdaki bir klasörde bulunuyorsa. Ancak, şimdi, çalışma sayfasında listelenen bu dosyaları, aşağıdaki ekran görüntüsü gibi orijinal klasörlerinden başka bir klasöre taşımanız veya kopyalamanız gerekir. Bu görevi Excel'de yapabildiğiniz kadar çabuk nasıl bitirebilirsiniz?
  • Bir klasörün birden çok dosyasını yeniden adlandırın
  • Çoğumuz, bir klasördeki birden fazla dosyayı yeniden adlandırmamız gereken bu sorundan muzdarip olabiliriz, dosya adlarını tek tek yeniden adlandırmak, o klasörde yüzlerce veya binlerce dosya varsa bizi çıldırtacaktır. Bu görevin üstesinden gelmemiz için iyi işlevler var mı?
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