Saltar al contenido principal

Cree varias carpetas y subcarpetas a partir de una lista de datos en Excel

Suponga que tiene una lista de nombres de personal dentro de un rango de hoja de trabajo y desea crear carpetas individuales para que cada uno almacene su información. Crear manualmente cada carpeta puede llevar mucho tiempo. Sin embargo, existen métodos eficientes para acelerar este proceso. En esta guía, compartiré varios enfoques para generar rápidamente carpetas basadas en los valores de celda especificados.

Crear carpetas basadas en valores de celda

Cree carpetas y subcarpetas basadas en valores de celda con código VBA


Crear carpetas basadas en valores de celda

En esta sección, exploraremos varios métodos en detalle, ofreciendo instrucciones completas paso a paso para crear carpetas de forma rápida y sin esfuerzo basadas en una lista de valores de celda.

Cree carpetas a partir de una lista utilizando el comando MD y el Bloc de notas

Convertir una lista de Excel en carpetas usando el comando MD y el Bloc de notas es un truco inteligente que combina secuencias de comandos por lotes sencillas con la habilidad de Excel para mantener las cosas organizadas. Este método es excelente para crear muchas carpetas rápidamente, sin tener que hacerlo todo a mano. Aquí hay una guía paso a paso para realizar esta tarea:

Paso 1: use el comando MD para crear fórmulas

Copie o ingrese la siguiente fórmula en una celda en blanco al lado del valor de su primera celda (B1, por ejemplo) y luego arrastre el controlador de relleno hacia abajo para aplicar la fórmula a todos los elementos de su lista.

="MD "&A1

Paso 2: copie y pegue las fórmulas en un archivo de Bloc de notas

  1. Prensa Ctrl + C para copiar las celdas con la fórmula del comando MD.
  2. Abierto Bloc de notas y pulse Ctrl + V para pegar los comandos en un archivo nuevo.

Paso 3: guarde el archivo del Bloc de notas como archivo .bat

Haga clic Guardar como del desplegable Archive pestaña en el Bloc de notas, en el Guardar como cuadro de diálogo, elija un directorio donde desea crear varias carpetas y luego asigne un nombre a este archivo con un .bat extensión. Finalmente, haga clic Guardar botón. Ver captura de pantalla:

Paso 4: haga doble clic en el archivo .bat para generar varias carpetas

  1. Cierre el archivo del Bloc de notas, navegue hasta la carpeta donde previamente guardó el archivo .bat.
  2. Ahora, sea testigo de la magia: haga doble clic en el archivo y verá que se crean varias carpetas a la vez. Vea la demostración a continuación:
 

Cree carpetas a partir de una lista utilizando una herramienta poderosa: Kutools para Excel

Con los poderosos Kutools for Excel, Crear carpetas a partir del contenido de la celda función, ahora puede crear carpetas fácil y rápidamente a partir de una lista de Excel. Pero no se limita sólo a las carpetas básicas; Kutools también le permite crear estructuras complejas con subcarpetas de varios niveles de una sola vez. Sólo unos pocos pasos simples pueden transformar datos de Excel en un sistema de carpetas organizado, aumentando significativamente su productividad.

Note: Si quieres usar esto Crear carpetas a partir del contenido de la celda característica, por favor descargue e instale Kutools para Excel de antemano.

Después de instalar Kutools for Excel, Por favor haga clic en Kutools Más > Import / Export > Crear carpetas a partir del contenido de la celda para abrir el Crear carpetas a partir del contenido de la celda caja de diálogo:

  1. Seleccione los valores de celda en función de los cuales desea crear carpetas;
  2. Luego, haz clic en botón para especificar la carpeta de destino en la que desea guardar las carpetas;
  3. Por último, haga clic en OK del botón.

Resultado:

Kutools procesará la lista de su hoja y creará una carpeta para cada entrada en el destino especificado. Navegue hasta la carpeta de destino para ver el resultado. Ver captura de pantalla:

Consejos:
  1. Esta útil característica también puede ayudar a crear carpetas junto con sus subcarpetas como necesites. Para hacer esto, debe ingresar los nombres de carpeta y subcarpeta deseados en las celdas, usando el signo de barra invertida (\) para separar cada nivel. El contenido de cada celda actuará como guía para configurar la estructura deseada de carpetas y subcarpetas.

    Luego, aplica el Crear carpetas a partir del contenido de la celda característica, todas las carpetas junto con sus subcarpetas se crearán correctamente. Ver captura de pantalla:
  2. Para aplicar esta función, por favor descargue e instale Kutools para Excel de antemano.
 

Cree carpetas a partir de una lista usando código VBA

El uso de código VBA en Excel puede transformar la tediosa tarea de crear carpetas a partir de una lista en un proceso rápido y automatizado. Esta sección le mostrará cómo aplicar código VBA para generar carpetas.

Paso 1: abre el editor de módulos de VBA y copia el código

  1. Mantenga pulsado el botón ALT + F11 claves en Excel, y abre el Microsoft Visual Basic para aplicaciones ventana.
  2. Haga clic recuadro > Móduloy pegue el siguiente código en el Módulo Ventana.
    Código VBA: cree carpetas basadas en una lista de valores de celda
    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
    

Paso 2: ejecuta el código

  1. Después de pegar este código, presione F5 clave para ejecutar este código. En el cuadro emergente, seleccione los valores de celda desde los que desea crear carpetas. Y luego, haga clic OK.
  2. Luego, en el siguiente Seleccione la carpeta de destino , especifique la ruta de destino para generar las carpetas creadas. Y luego, haga clic OK botón, ver captura de pantalla:

Resultado:

Después de ejecutar el código VBA, dirígete al directorio de destino para ver el resultado. Allí encontrará las carpetas recién creadas, cada una correspondiente a un elemento de su lista de Excel. ver captura de pantalla:

Consejos:
  1. Si hay entradas duplicadas en las celdas, al ejecutar el código se creará solo una carpeta para esos duplicados.
  2. Si utiliza este código con frecuencia, considere guardar su libro de trabajo en Libro de Excel habilitado para macros formato. Esta acción conserva el código dentro del libro de trabajo, lo que le permite ejecutarlo directamente en el futuro sin la necesidad de volver a ingresar o importar el código.

Cree carpetas y subcarpetas basadas en valores de celda con código VBA

Ocasionalmente, es posible que te encuentres en una situación en la que necesites generar no sólo carpetas, sino también sus subcarpetas correspondientes, todas ellas basadas en los datos de las celdas de Excel. Para lograr esta tarea, aquí presentaré un código VBA.

Paso 1: preparar los datos

Primero, debe ingresar los datos como se muestra a continuación, colocar los nombres de las carpetas principales en la primera columna y los nombres de las subcarpetas en la segunda columna.

Paso 2: abre el editor de módulos de VBA y copia el código

  1. Mantenga pulsado el botón ALT + F11 claves en Excel, y abre el Microsoft Visual Basic para aplicaciones ventana.
  2. Haga clic recuadro > Móduloy pegue el siguiente código en el Módulo Ventana.
    Código VBA: cree carpetas y subcarpetas basadas en valores de celda
    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
    

Paso 3: ejecuta el código

  1. Después de pegar este código, presione F5 clave para ejecutar este código. En el cuadro emergente, seleccione los valores de celda desde los que desea crear carpetas. Y luego, haga clic OK.
  2. En la siguiente ventana emergente, especifique la ruta de destino para generar las carpetas creadas. Y luego, haga clic OK botón, ver captura de pantalla:

Resultado:

Después de ejecutar el código VBA, vaya al directorio de destino para ver el resultado. Descubrirá que las carpetas y sus respectivas subcarpetas, según lo dictan los valores de las celdas, se han creado correctamente como se muestra en la siguiente captura de pantalla:

Consejos:
  1. Este código solo está disponible para crear únicamente las carpetas principales y sus subcarpetas de primer nivel.
  2. Si utiliza este código con frecuencia, considere guardar su libro de trabajo en Libro de Excel habilitado para macros formato. Esta acción conserva el código dentro del libro de trabajo, lo que le permite ejecutarlo directamente en el futuro sin la necesidad de volver a ingresar o importar el código.

Artículos relacionados:

  • Enumere todas las carpetas y subcarpetas en Excel
  • ¿Alguna vez ha sufrido este problema que enumera todas las carpetas y subcarpetas de un directorio específico en una hoja de trabajo? En Excel, no existe una forma rápida y práctica de obtener el nombre de todas las carpetas en un directorio específico a la vez. Para hacer frente a la tarea, este artículo puede ayudarlo.
  • Copie o mueva archivos de una carpeta a otra según una lista
  • Si tiene una lista de nombres de archivo en una columna de una hoja de trabajo y los archivos se encuentran en una carpeta de su computadora. Pero, ahora, debe mover o copiar estos archivos cuyos nombres se enumeran en la hoja de trabajo desde su carpeta original a otra como se muestra en la siguiente captura de pantalla. ¿Cómo podría terminar esta tarea lo más rápido posible en Excel?
  • Cambiar el nombre de varios archivos de una carpeta
  • Puede ser que la mayoría de nosotros suframos este problema de que necesitamos cambiar el nombre de varios archivos en una carpeta, cambiar el nombre de los archivos uno por uno nos volverá locos si hay cientos o miles de archivos en esa carpeta. ¿Existen buenas funciones para que nos ocupemos de esta tarea?