VBA Excel - Macro para crear carpetas en Excel

16 jul 2020

VBA Excel - Macro para crear carpetas en Excel


En muchas ocasiones cuando trabajamos con macros tenemos la necesidad de crear carpetas para automatizar nuestras labores, y hoy te voy a explicar como realizar esa macro. 

Macro para crear carpetas en Excel

A continuación les explicare como realizarlo:
 
1. Abrir el editor Visual Basic para Aplicaciones (VBA). 

2. En la cinta de opciones en el menú Insertar… módulo 

3. Dentro del módulo: 

 A) Creamos el nombre de nuestra macro:

 
Sub Crear_Carpeta()

B) Creamos el objeto Scripting.FileSystemObject que nos proporciona acceso al sistema de archivos del ordenador que le permite crear, eliminar, editar y copiar los archivos / carpetas

Set fs = CreateObject("Scripting.FileSystemObject") 

C) Con Application.FileDialog(msoFileDialogFolderPicker) mostramos el cuadro de dialogo que nos va ayudar a seleccionar la ruta donde se creara nuestra carpeta
  
With Application.FileDialog(msoFileDialogFolderPicker)

D) Evaluamos si se selecciono una carpeta con un if
   
If .Show = -1 Then

E) Si se selecciono una carpeta guardamos la ruta en una variable "Ruta"
   
Ruta = .SelectedItems(1)

F) Si no se selecciono una carpeta, terminamos la macro
   
Else
Exit Sub

G) Cerramos nuestro if
  
End If
End With

H) con la función InputBox, solicitamos el nombre de la carpeta
  
Nombre = Application.InputBox("introduce el nombre de la carpeta")

I) con CreateFolder creamos una nueva carpeta en la ruta que se selecciono anteriormente
  
fs.CreateFolder Ruta & "\" & Nombre

J) Cerramos nuestra macro.
   
End Sub

4. Al final nuestra macro va a quedar de la siguiente manera:
   
Sub Crear_Carpeta()

Set fs = CreateObject("Scripting.FileSystemObject") '

With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then
Ruta = .SelectedItems(1)
Else
Exit Sub
End If
End With

Nombre = Application.InputBox("introduce el nombre de la carpeta")

fs.CreateFolder Ruta & "\" & Nombre

End Sub

2 comentarios :

  1. Hola necesito ayuda con un macro para excel. Tengo un listado de 1500 trabajadores con sus fichas cédulas
    Posgrados etc y necesito crear carpetas de cada uno con sus documentos y la carpeta de cada se debera llamar "23453_Juan Jose JJ" ejemplo y ahí en esa carpeta tener todos sus documentos GRACIAS

    ResponderBorrar
    Respuestas
    1. Hola si gustas puedes contactarme por whatsapp https://api.whatsapp.com/send?phone=525584553535

      Borrar