Vai al contenuto principale

Crea più cartelle e sottocartelle da un elenco di dati in Excel

Supponiamo di avere un elenco di nomi del personale all'interno di un intervallo di fogli di lavoro e di mirare a creare cartelle individuali per ciascuno in cui archiviare le relative informazioni. La creazione manuale di ciascuna cartella può richiedere molto tempo. Tuttavia, esistono metodi efficaci per accelerare questo processo. In questa guida condividerò diversi approcci per generare rapidamente cartelle in base ai valori di cella specificati.

Crea cartelle in base ai valori delle celle

Crea cartelle e sottocartelle in base ai valori delle celle con codice VBA


Crea cartelle in base ai valori delle celle

In questa sezione esploreremo vari metodi in dettaglio, offrendo istruzioni dettagliate passo passo per creare cartelle in modo rapido e semplice in base a un elenco di valori di cella.

Crea cartelle da un elenco utilizzando il comando MD e il Blocco note

Trasformare un elenco da Excel in cartelle utilizzando il comando MD e Blocco note è un trucco intelligente che unisce un semplice scripting batch con l'abilità di Excel di mantenere le cose organizzate. Questo metodo è ottimo per creare velocemente tante cartelle, senza dover fare tutto a mano. Ecco una guida passo passo per eseguire questa attività:

Passaggio 1: utilizzare il comando MD per creare formule

Copia o inserisci la seguente formula in una cella vuota accanto al primo valore della cella (B1, ad esempio), quindi trascina verso il basso la maniglia di riempimento per applicare la formula a tutti gli elementi dell'elenco.

="MD "&A1

Passaggio 2: copia e incolla le formule in un file di Blocco note

  1. Rassegna Stampa Ctrl + C per copiare le celle con la formula del comando MD.
  2. Apri Notepad e premere Ctrl + V per incollare i comandi in un nuovo file.

Passaggio 3: salva il file del Blocco note come file .bat

Clicchi Salva con nome dal Compila il scheda nel Blocco note, nel file Salva con nome finestra di dialogo, scegli una directory in cui desideri creare più cartelle, quindi dai un nome a questo file con a bat estensione. Infine, fai clic Risparmi pulsante. Vedi screenshot:

Passaggio 4: fare doppio clic sul file .bat per generare più cartelle

  1. Chiudi il file Blocco note, vai alla cartella in cui hai precedentemente salvato il file .bat.
  2. Ora, assisti alla magia: fai doppio clic sul file e vedrai più cartelle create contemporaneamente. Guarda la demo qui sotto:
 

Crea cartelle da un elenco utilizzando un potente strumento: Kutools per Excel

Con i potenti Kutools for Excel'S Crea cartelle dal contenuto delle celle funzionalità, ora puoi creare facilmente e rapidamente cartelle da un elenco Excel. Ma non si ferma solo alle cartelle di base; Kutools ti consente anche di creare strutture complesse con sottocartelle multilivello in una volta sola. Bastano pochi semplici passaggi per trasformare i dati di Excel in un sistema di cartelle organizzato, aumentando significativamente la tua produttività.

Note:: Se vuoi usare questo Crea cartelle dal contenuto delle celle caratteristica, per favore scarica e installa Kutools per Excel prima.

Dopo l'installazione Kutools for Excel, Si prega di fare clic su Kutools Plus > Importa / Esporta > Crea cartelle dal contenuto delle celle per aprire il Crea cartelle dal contenuto delle celle la finestra di dialogo:

  1. Seleziona i valori della cella su cui desideri creare le cartelle;
  2. Quindi, fare clic su pulsante per specificare la cartella di destinazione in cui si desidera salvare le cartelle;
  3. Infine, fare clic OK pulsante.

Risultato:

Kutools elaborerà l'elenco dal tuo foglio e creerà una cartella per ogni voce nella destinazione specificata. Passare alla cartella di destinazione per vedere il risultato. Vedi schermata:

Suggerimenti:
  1. Questa utile funzionalità può anche essere d'aiuto creare cartelle insieme alle relative sottocartelle di cui hai bisogno. Per fare ciò, inserisci i nomi delle cartelle e delle sottocartelle desiderate nelle celle, utilizzando il segno barra rovesciata (\) per separare ciascun livello. Il contenuto di ciascuna cella fungerà da guida per impostare la struttura desiderata di cartelle e sottocartelle.

    Quindi, applicare il Crea cartelle dal contenuto delle celle funzione, tutte le cartelle insieme alle relative sottocartelle verranno create correttamente. Vedi schermata:
  2. Per applicare questa funzione, per favore scarica e installa Kutools per Excel prima.
 

Crea cartelle da un elenco utilizzando il codice VBA

L'utilizzo del codice VBA in Excel può trasformare il noioso compito di creare cartelle da un elenco in un processo rapido e automatizzato. Questa sezione ti mostrerà come applicare il codice VBA per generare cartelle.

Passaggio 1: apri l'editor del modulo VBA e copia il codice

  1. Tenere premuto il tasto ALT + F11 chiavi in ​​Excel e apre il file Microsoft Visual Basic, Applications Edition finestra.
  2. Clicchi inserire > Modulie incolla il codice seguente nel file Moduli Finestra.
    Codice VBA: crea cartelle in base a un elenco di valori di cella
    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
    

Passaggio 2: eseguire il codice

  1. Dopo aver incollato questo codice, premere F5 chiave per eseguire questo codice. Nella finestra di messaggio, seleziona i valori della cella da cui desideri creare le cartelle. E poi, fai clic OK.
  2. Poi, nel seguito Seleziona la cartella di destinazione finestra, specificare il percorso di destinazione per l'output delle cartelle create. E poi, fai clic OK pulsante, vedi screenshot:

Risultato:

Dopo aver eseguito il codice VBA, vai alla directory di destinazione per visualizzare il risultato. Lì troverai le cartelle appena create, ciascuna corrispondente a un elemento dal tuo elenco Excel. vedi schermata:

Suggerimenti:
  1. Se nelle celle sono presenti voci duplicate, l'esecuzione del codice comporterà la creazione di una sola cartella per tali duplicati.
  2. Se ti ritrovi a utilizzare frequentemente questo codice, valuta la possibilità di salvare la cartella di lavoro in Cartella di lavoro con attivazione macro di Excel formato. Questa azione preserva il codice all'interno della cartella di lavoro, consentendoti di eseguirlo direttamente in futuro senza la necessità di reinserire o reimportare il codice.

Crea cartelle e sottocartelle in base ai valori delle celle con codice VBA

Occasionalmente, potresti trovarti in una situazione in cui devi generare non solo cartelle, ma anche le relative sottocartelle, tutte basate sui dati all'interno delle celle di Excel. Per raggiungere questo compito, qui introdurrò un codice VBA.

Passaggio 1: preparare i dati

Innanzitutto, dovresti inserire i dati come mostrato nella seguente schermata, posizionare i nomi delle cartelle principali nella prima colonna e i nomi delle sottocartelle nella seconda colonna.

Passaggio 2: apri l'editor del modulo VBA e copia il codice

  1. Tenere premuto il tasto ALT + F11 chiavi in ​​Excel e apre il file Microsoft Visual Basic, Applications Edition finestra.
  2. Clicchi inserire > Modulie incolla il codice seguente nel file Moduli Finestra.
    Codice VBA: crea cartelle e sottocartelle in base ai valori delle celle
    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
    

Passaggio 3: eseguire il codice

  1. Dopo aver incollato questo codice, premere F5 chiave per eseguire questo codice. Nella finestra di messaggio, seleziona i valori della cella da cui desideri creare le cartelle. E poi, fai clic OK.
  2. Nella finestra visualizzata di seguito, specificare il percorso di destinazione per l'output delle cartelle create. E poi, fai clic OK pulsante, vedi screenshot:

Risultato:

Dopo aver eseguito il codice VBA, vai alla directory di destinazione per visualizzare il risultato. Scoprirai che le cartelle e le rispettive sottocartelle, come dettato dai valori della cella, sono state create con successo come mostrato nella seguente schermata:

Suggerimenti:
  1. Questo codice è disponibile solo per creare solo le cartelle principali e le relative sottocartelle di primo livello.
  2. Se ti ritrovi a utilizzare frequentemente questo codice, valuta la possibilità di salvare la cartella di lavoro in Cartella di lavoro con attivazione macro di Excel formato. Questa azione preserva il codice all'interno della cartella di lavoro, consentendoti di eseguirlo direttamente in futuro senza la necessità di reinserire o reimportare il codice.

Articoli Correlati:

  • Elenca tutte le cartelle e le sottocartelle in Excel
  • Hai mai sofferto di questo problema che elenca tutte le cartelle e le sottocartelle da una directory specificata in un foglio di lavoro? In Excel, non esiste un modo rapido e pratico per ottenere contemporaneamente il nome di tutte le cartelle in una directory specifica. Per affrontare l'attività, questo articolo potrebbe aiutarti.
  • Copia o sposta file da una cartella all'altra in base a un elenco
  • Se si dispone di un elenco di nomi di file in una colonna in un foglio di lavoro e i file si trovano in una cartella nel computer. Ma, ora, è necessario spostare o copiare questi file i cui nomi sono elencati nel foglio di lavoro dalla loro cartella originale a un'altra come mostrato nella seguente schermata. Come hai potuto completare questa attività il più rapidamente possibile in Excel?
  • Rinominare più file di una cartella
  • Forse la maggior parte di noi soffre di questo problema che dobbiamo rinominare più file in una cartella, rinominare i nomi dei file uno per uno ci farà impazzire se ci sono centinaia o migliaia di file in quella cartella. Ci sono buone funzioni per noi per affrontare questo compito?