Skip to main content

Crear múltiples carpetas y subcarpetas a partir de una lista de datos en Excel

Author: Xiaoyang Last Modified: 2025-08-06

Supongamos que tienes una lista de nombres de empleados dentro de un rango de hoja de cálculo y deseas crear carpetas individuales para cada uno con el fin de almacenar su información. Crear manualmente cada carpeta puede ser muy laborioso. Sin embargo, existen métodos eficientes para agilizar este proceso. En esta guía, compartiré varios enfoques para generar rápidamente carpetas basadas en los valores de las celdas especificadas.

A screenshot of an Excel worksheet containing a list of staff names for folder creation

Crear carpetas basadas en valores de celda

Crear 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 paso a paso completas para crear carpetas rápidamente y sin esfuerzo basadas en una lista de valores de celda.

Crear carpetas desde una lista usando el comando MD y el Bloc de notas

Convertir una lista de Excel en carpetas utilizando el comando MD y el Bloc de notas es un truco inteligente que combina la creación de scripts por lotes sencillos 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 manualmente. Aquí tienes una guía paso a paso para realizar esta tarea:

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

Copia o introduce la siguiente fórmula en una celda en blanco junto al primer valor de tu celda (por ejemplo, B1), y luego arrastra el controlador de relleno hacia abajo para aplicar la fórmula a todos los elementos de tu lista.

="MD "&A1

A screenshot showing the MD command formula used in Excel to create folders

Paso 2: Copia y pega las fórmulas en un archivo de Bloc de notas

  1. Presiona "Ctrl + C" para copiar las celdas con la fórmula del comando MD.
  2. Abre el Bloc de notas y presiona "Ctrl + V" para pegar los comandos en un nuevo archivo.
    A screenshot of Notepad displaying copied MD commands from Excel for folder creation

Paso 3: Guarda el archivo de Bloc de notas como archivo .bat

Haz clic en "Guardar como" desde la pestaña "Archivo" en el Bloc de notas, en el cuadro de diálogo "Guardar como", elige un directorio donde deseas crear varias carpetas, y luego dale un nombre a este archivo con la extensión .bat. Finalmente, haz clic en el botón "Guardar". Ver captura de pantalla:
A screenshot of the Save As dialog in Notepad for saving the file with a .bat extension

Paso 4: Haz doble clic en el archivo .bat para generar múltiples carpetas

  1. Cierra el archivo de Bloc de notas, navega hasta la carpeta donde guardaste previamente el archivo .bat.
  2. Ahora, observa la magia: haz doble clic en el archivo y verás cómo se crean múltiples carpetas de una vez. Ver la demostración a continuación:
    A demonstration of double-clicking a .bat file to create multiple folders from Excel values
 

Crear carpetas desde una lista usando una herramienta poderosa: Kutools para Excel

Con la poderosa función "Crear Carpetas Basada en Rango" de Kutools para Excel, ahora puedes crear fácil y rápidamente carpetas a partir de una lista de Excel. Pero no solo crea carpetas básicas; Kutools también te permite crear estructuras complejas con subcarpetas multinivel de una sola vez. Solo unos pocos pasos simples pueden transformar datos de Excel en un sistema de carpetas organizado, aumentando significativamente tu productividad.

Kutools para Excel ofrece más de 300 funciones avanzadas para simplificar tareas complejas, potenciando la creatividad y la eficiencia. Integrado con capacidades de inteligencia artificial, Kutools automatiza las tareas con precisión, haciendo que la gestión de datos sea sencilla. Información detallada de Kutools para Excel...  Prueba gratuita...

Después de instalar Kutools para Excel, haz clic en "Kutools Plus" > "Importar / Exportar" > "Crear Carpetas Basada en Rango" para abrir el cuadro de diálogo Crear Carpetas Basada en Rango:

  1. Selecciona los valores de las celdas en los que deseas crear carpetas;
  2. Luego, haz clic en el A screenshot of the button used to select a destination folder botón para especificar la carpeta de destino donde deseas guardar las carpetas;
  3. Finalmente, haz clic en el botón Aceptar.
    A screenshot of the Kutools Create Folders from Cell Contents dialog box in Excel

Resultado:

Kutools procesará la lista de tu hoja y creará una carpeta para cada entrada en el destino especificado. Navega hasta la carpeta de destino para ver el resultado. Ver captura de pantalla:
A screenshot showing the output of folders created by Kutools for Excel

Consejos:
  1. Esta útil función también puede ayudarte a crear carpetas junto con sus subcarpetas según sea necesario. Para hacer esto, debes ingresar los nombres deseados de las carpetas y subcarpetas en las celdas, utilizando el signo de barra invertida (\) para separar cada nivel. El contenido de cada celda actuará como una guía para configurar la estructura deseada de carpetas y subcarpetas.
    A screenshot of an Excel sheet with folder and subfolder names entered for creation
    Luego, aplica la función "Crear Carpetas Basada en Rango", todas las carpetas junto con sus subcarpetas se crearán con éxito. Ver captura de pantalla:
    A screenshot showing folders with subfolders created based on Excel cell values
  2. Para aplicar esta función, descarga e instala Kutools para Excel.
 

Crear carpetas desde una lista usando código VBA

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

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

  1. Mantén presionadas las teclas "ALT + F11" en Excel, y se abrirá la ventana "Microsoft Visual Basic para Aplicaciones".
  2. Haz clic en "Insertar" > "Módulo", y pega el siguiente código en la Ventana de Módulo.
    Código VBA: Crear 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, presiona la tecla F5 para ejecutarlo. En el cuadro de diálogo emergente, selecciona los valores de las celdas a partir de los cuales deseas crear carpetas. Luego, haz clic en Aceptar.
    A screenshot of the VBA prompt to select cell values for folder creation in Excel
  2. Luego, en la siguiente ventana "Seleccionar la carpeta de destino", especifica la ruta de destino para exportar las carpetas creadas. Luego, haz clic en el botón Aceptar, ver captura de pantalla:
    A screenshot of the dialog box to select a destination folder for VBA-created folders in Excel

Resultado:

Después de ejecutar el código VBA, ve al directorio de destino para ver el resultado. Allí encontrarás las carpetas recién creadas, cada una correspondiente a un elemento de tu lista de Excel. Ver captura de pantalla:
A screenshot showing the output of folders created by VBA

Consejos:
  1. Si hay entradas duplicadas en las celdas, el código solo creará una carpeta.
  2. Si usas este código con frecuencia, considera guardar tu libro en el formato de "Libro habilitado para macros de Excel". Esta acción conserva el código dentro del libro, permitiéndote ejecutarlo directamente en el futuro sin necesidad de volver a escribir o importar el código.

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

Ocasionalmente, podrías encontrarte en una situación en la que necesites generar no solo carpetas, sino también sus subcarpetas correspondientes, todo basado en los datos dentro de las celdas de Excel. Para lograr esta tarea, aquí te presentaré un código VBA.

Paso 1: Preparar los datos

Primero, deberías ingresar los datos como se muestra en la siguiente captura de pantalla, colocando los nombres de las carpetas principales en la primera columna y los nombres de las subcarpetas en la segunda columna.
A screenshot of data in Excel with columns for folders and subfolders

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

  1. Mantén presionadas las teclas "ALT + F11" en Excel, y se abrirá la ventana "Microsoft Visual Basic para Aplicaciones".
  2. Haz clic en "Insertar" > "Módulo", y pega el siguiente código en la Ventana de Módulo.
    Código VBA: Crear 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, presiona la tecla F5 para ejecutarlo. En el cuadro de diálogo emergente, selecciona los valores de las celdas a partir de los cuales deseas crear carpetas. Luego, haz clic en Aceptar.
    A screenshot of the VBA prompt to select cell ranges for creating folders and subfolders in Excel
  2. En la siguiente ventana emergente, especifica la ruta de destino para exportar las carpetas creadas. Luego, haz clic en el botón Aceptar, ver captura de pantalla:
    A screenshot of the VBA dialog box for selecting a base folder path in Excel

Resultado:

Después de ejecutar el código VBA, ve al directorio de destino para ver el resultado. Verás que las carpetas y sus respectivas subcarpetas, según lo dictado por los valores de las celdas, se han creado con éxito como se muestra en la siguiente captura de pantalla:
A screenshot showing folders and subfolders created using VBA code in Excel

Consejos:
  1. Este código solo está disponible para crear las carpetas principales y sus subcarpetas de primer nivel.
  2. Si usas este código con frecuencia, considera guardar tu libro en el formato de "Libro habilitado para macros de Excel". Esta acción conserva el código dentro del libro, permitiéndote ejecutarlo directamente en el futuro sin necesidad de volver a escribir o importar el código.

Artículos relacionados:

  • Listar todas las carpetas y subcarpetas en Excel
  • ¿Alguna vez has tenido problemas para listar todas las carpetas y subcarpetas de un directorio específico en una hoja de cálculo? En Excel, no hay una manera rápida y práctica de obtener el nombre de todas las carpetas en un directorio específico de una vez. Para resolver esta tarea, este artículo puede ayudarte.
  • Copiar o mover archivos de una carpeta a otra basándose en una lista
  • Si tienes una lista de nombres de archivos en una columna en una hoja de cálculo, y los archivos están ubicados en una carpeta en tu computadora. Pero ahora, necesitas mover o copiar estos archivos, cuyos nombres están listados en la hoja de cálculo, desde su carpeta original a otra, como se muestra en la siguiente captura de pantalla. ¿Cómo podrías completar esta tarea tan rápido como puedas en Excel?
  • Renombrar múltiples archivos de una carpeta
  • Quizás muchos de nosotros hemos sufrido con este problema: necesitamos renombrar múltiples archivos en una carpeta, y hacerlo uno por uno nos volvería locos si hay cientos o miles de archivos en esa carpeta. ¿Existen buenas funciones que podamos usar para manejar esta tarea?