Hoy te enseñamos cómo crear carpetas a partir de una lista de Excel automáticamente, y para ello vamos a utilizar una macro sencilla. Las macros nos ayudan a automatizar tareas que realizamos repetidamente. Si tuvieras que crear alrededor de 100 carpetas ¿Lo harías manualmente o prefieres que una macro haga el trabajo por ti?
Si prefieres ver el tutorial antes que leerlo dale al PLAY
Mostrar la pestaña Programador
Para utilizar las macros de Excel necesitas tener visible la pestaña Programador dentro de tu cinta de opciones.
Si no visualizas esta pestaña dentro de tu cinta de opciones debes activarla primero. Para ello, clica con el botón derecho del ratón sobre cualquiera de las pestañas y en el desplegable elige la opción Personalizar cinta de opciones.
En el recuadro de la derecha habilita la opción Programador o Desarrollador y pulsa Aceptar.
Comprueba que la pestaña se ha incluido en tu cinta de opciones.
Creación de la macro
Para crear la macro que te permita crear carpetas a partir de una lista de Excel sigue los siguientes pasos:
- Ve a la pestaña Programador →clica sobre la opción Visual Basic.
- En la ventana que se ha abierto, ve al menú superior y clica sobre la opción Insertar → Módulo.
- En la ventana del módulo pega el siguiente código:
Sub CrearCarpetas()
ruta = InputBox("Ingresa la ruta donde quieres crear las carpetas")
celda = InputBox("Primera celda")
Range(celda).Select
Do While ActiveCell.Value <> ""
MkDir (ruta & "/" & ActiveCell.Value)
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Cierra la ventana de Visual Basic. Ahora el módulo para crear carpetas está disponible en tu hoja de Excel.
Antes de ejecutar la macro
Antes de ejecutar la macro ten en cuenta lo siguiente:
- La macro que acabas de crear funciona para crear carpetas a partir de una lista en columna. Si tú tienes la información en una fila puedes pasar las filas a columnas rápidamente. Te explicamos cómo en este tutorial.
- Los nombres de las carpetas deben estar en celdas consecutivas dentro de la columna, sin celdas en blanco. Si hay alguna celda en blanco la macro dejará de ejecutarse y no terminará de crear todo el listado de carpetas.
- La ubicación donde quieres crear las carpetas no debe contener carpetas con nombres que coincidan con las que vas a crear automáticamente. Si esto ocurre, al ejecutar la macro surgirá un error.
Ejecuta la macro
Ahora ya puedes comenzar a crear carpetas a partir de una lista de Excel automáticamente.
Para ejecutar la macro ve a la pestaña Programador → Macros. Aparecerá una ventana emergente con la macro CrearCarpetas, clica sobre el botón Ejecutar.
A continuación, debes introducir la ruta y la celda de inicio en las dos ventanas emergentes que aparecerán.
Primero aparece una ventana emergente que te pide que ingreses la ruta donde quieres crear las carpetas. Ingresa la ruta y pulsa Enter.

Por ejemplo C:\Users\Desktop\Excel
Puedes copiar la ruta de cualquier ubicación clicando sobre la barra de título, pulsa CTRL+C para copiar y CTRL+V para pegar la ruta en la ventana emergente.
Seguidamente aparecerá una segunda ventana que te pide que designes la primera celda. Escribe la designación de la primera celda.

En nuestro ejemplo A2 y pulsa Aceptar.
Ve a la carpeta y comprueba que se han creado automáticamente todas las carpetas. Dependiendo de la cantidad de carpetas que debe crear Excel puede tardar más o menos tiempo.
Guarda el archivo de Excel con la macro
Si quieres guardar el archivo de Excel con la macro para poder utilizarla en otras ocasiones. Ve a Archivo → Guardar como y en tipo de archivo elige la opción Libro de Excel habilitado para macros.
Como has comprobado, siguiendo paso a paso el tutorial es realmente sencillo crear carpetas a partir de una lista de Excel
¿Qué ocurre si agregas más nombres?
Esta macro simplemente te ayuda a automatizar una tarea repetitiva. Tras ejecutar la macro no existe conexión entre las carpetas y el archivo del Excel que contiene la lista.
Si modificas algún nombre en el archivo Excel después de haber creado las carpetas, solo modificarás el archivo de Excel. Las carpetas mantienen los nombres con los que se crearon.
En el caso de agregar más nombres al archivo de Excel tras haber ejecutado la macro, deberás volver a ejecutarla para crear las nuevas carpetas. Es IMPORTANTE que cambies la designación de la celda inicial, porque si la macro detecta que en la ruta especificada ya existen carpetas con los nombres que debe crear arrojará un error.
Excelente!! Mil gracias
Muchas gracias.
Me has quitado un gran trabajo de encima
Mil gracias por el turorial me sirvió de mucho y tal como debe ser un totorial, fácil, corto y sencillo en su explicación
Felicidades
Muchísimas gracias, me ayudo a crear 1.160 carpetas, esto es una maravilla.
Muchas Gracias.
La Macro, funciona EXCELENTE. Muy bien.
y si en vez de carpetas quiero crear libros de excel que debo hacer ?
Hola. Una macro estupenda que nos hará ahorrar mucho tiempo. Veo que funciona bien en Windows pero tengo un problema en Mac. Si los nombres de las carpetas no tienen tildes, diéresis o Ñ o cualquier otro carácter especial funciona perfectamente pero si el nombre en la celda tiene tilde, por ejemplo, la macro se detiene en ese punto y me da Error 76 como que no encuentro la ruta de acceso. Alguien sabría alguna solución para este problema que no sea eliminar tildes o Ñs? Gracias de antemano.
Saludos
¡Muchas gracias!, definitivamente una excelente y gran ayuda. dejo de nuevo la inquietud de uno de los que comentaron: ¿será que se puede crear una estructura de carpetas en una sola macro? de manera de poder crear carpetas y subcarpetas
Agradeceré si pueden apoyar con eso.
¡Gracias de nuevo y bendiciones!
me parece impresionante la ayuda que ofrecen los cursos excel de saber programas y lo bien que lo explica
FElicidades y gracias por compartir
Erro 76 : se soluciona verificando que no haya ningún carácter especial como :;.?=)( etc en la celda, solo reconoce nombres limpios, si borras estos carácter se soluciona todo. Tanta vuelta para no poder explicar eso
HOLA, tengo el mismo problema, como lo puedo solucionar??
Gracias muy util EL ARTICULO!
Muchas gracias excelente, me ayudó un montón. Pregunta, hay algún tutorial de cómo combinar columnas sin que se pierdan los datos, es que sólo conservan los de las primera columna. Gracias
Siendo las columnas A, B y C las que querés unificar deberías escribir en una nueva columna lo siguiente:
=A2&””&B2&””&C2
Si quisieras unificar 2 columnas, la A y la B `=A2&””&B2
y asi sucesivamente
Ojo!! lo que aparece como “” son comillas
ES POSIBLE CREAR SUBCARPETAS DENTRO DE LAS CARPETAS QUE YA SE CREARON
Hola, buenos días.
Me da error en la siguiente línea:
MkDir (ruta & “/” & ActiveCell.Value)
Saludos.
Ya lo solucioné, se trataba de caracteres como ?
Hola, como lo solucionaste?
Yo resolví este error borrando las celdas repetidas.
Solucionado!!
En las celdas de los nombres de las carpetas, debe haber algún caracter especial, como /, -, $, etc
Validar que los nombres no contengan dichos caracteres y listo!
Buenas tardes me aparece error 75 y no crea sino algunas carpetas
Sub CrearCarpetas()
ruta = InputBox(“Ingresa la ruta donde quieres crear las carpetas”)
celda = InputBox(“Primera celda”)
Range(celda).Select
Do While ActiveCell.Value “”
MkDir (ruta & “/” & ActiveCell.Value) aqui en depurar resalta error
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Mil gracias por su atención
Hola, buenos días.
Tengo el mismo problema. ¿Lo pudiste solucionar?
Saludos.
Tengo el mismo problema, pudieron solucionarlo?
En las celdas de los nombres de las carpetas, debe haber algún caracter especial, como /, -, $, etc
Validar que los nombres no contengan dichos caracteres y listo!
buenos dias, tengo una lista de 50 nombres de alumnos y solo se crean 16,,, porqué no se crean todos si he hecho el procedimiento,correctamente…mil gracias
Lo maximo, gracias
Gracias. Excelente
Excelente solucion. Gracias
Me sale un error que dice que se ha producido un error “76” en tiempo de ejecución y el error donde lo indica
MkDir (ruta & “/” & ActiveCell.Value)
qué hacer en éste caso?
Hola, buenos días.
Tengo el mismo problema. ¿Lo pudiste solucionar?
Saludos.
HOLA, tengo el mismo problema, como lo puedo solucionar??
Gracias muy util EL ARTICULO!
Gracias me sirvió mucho.
Cómo pudieron solucionarlos ?