¿Cómo hacer una carpeta o directorio en Excel mediante VBA?

Microsoft Excel dispone de una opción que ayuda a realizar muchas más opciones y hacer que las que ya tenía de por sí, se vuelvan más potentes, esto es gracias al uso de Macros y creándolos a partir del VBA de Excel. Saber usar este aspecto, ya es parte de un nivel avanzado, puesto que requiere de conocimientos de programación y códigos por parte de la persona.

¿Cómo hacer una carpeta o directorio en EXCEL mediante VBA?

Se puede descargar Excel desde su página oficial o también usar la versión online de Microsoft Office 365. El día de hoy te enseñaremos a generar carpetas mediante el empleo de macros y VBA.

¿De qué manera crear una carpeta con VBA en Excel?

Si bien el proceso de producir carpetas en una PC no es para nada complicado, puede volverse tedioso si el trabajo que estamos haciendo requiere de originar varias copias del mismo archivo y que este se guarde en diferentes carpetas, por lo hacerlo manualmente sí representa una molestia que quitaría tiempo.

creando una carpeta con vba en excel

El Visual Basic Application de Excel, además de las otras múltiples funciones que tiene, permite generar un macro para guardar un archivo de Excel (en este caso) dentro de carpetas específicas, muy útil si se expone el caso anterior, en el que hay que guardar diferentes copias de un libro de hoja de cálculos, muy útil por si tienes que compartir tus archivos de Excel con alguien más.

Al introducir cierto código en la ventana de VBA y ejecutarlo en la hoja de cálculo oprimiendo un botón que podemos crear nosotros mismos, el macro guardará automáticamente el libro en el que estamos trabajando en diferentes carpetas, todas de diferente nombre, para evitar el traspapeleo.

¿Cómo guardar todas las macros en un solo libro de Excel para realizar las carpetas?

Al hacer una macro en una hoja de cálculo, en la ventana de códigos del VBA, en la barra de tareas de este cuadro de diálogo, verás el símbolo de un disquete que si lo oprimes guardarás todas las macros en ese libro. Sin embargo, para poder realizar esto, tu hoja debe tener una configuración que te explicaremos a continuación

En mi PC Windows

Es importante guardar la hoja con un formato especial que las macros y el uso de VBA tenga efecto y puedan guardarse correctamente en tu libro de Excel y para ello hay que hacer lo siguiente:

desde una pc con windows

  1. Da clic en “Archivo” en tu documento Excel.
  2. Luego vete a la opción de “Guardar como” y escoge la opción de “Libro de Excel habilitado para macros”.
  3. Te aparecerá el Explorador de Archivos de tu ordenador, escoge la ruta y la carpeta en donde quieres que se guarde tu proyecto.
  4. Finaliza el proceso dando clic en “Aceptar” o en “Guardar” y listo.

Con una Mac

El proceso de un ordenador MacOS es similar al de Windows e igualmente es obligatorio hacerlo para que las macros que vayas a crear tengan efecto sobre tu hoja de cálculo. Dicho esto, sigue los pasos dados en el apartado anterior. Recuerda que en Excel, así como en Word, también puedes agregar dos enlaces o hipervínculos en una celda, solo tienes que especificar cuáles son las frases con esos hipervínculos.

¿Qué procedimiento seguir para crear una carpeta con una copia del libro de Excel?

Bien, una vez que ya hayas guardado tu archivo habilitado para macros, abre nuevamente el documento y procede a introducir todos los datos y producir la lista o registro, si ya tienes todo esto, entonces sáltate esto anterior. Para abrir el VBA de Excel, te vas a la pestaña de “Desarrollador” y clic en “Visual Basic”; también sirve el atajo de teclado “Alt + F11”.

En la ventana de Visual Basic de Excel nos vamos a la pestaña de “Insertar” y luego a la opción de “Módulo”, si lo deseas, puedes cambiar el nombre de este módulo, te lo recomendamos para que puedas tener una forma más fácil de identificarlo en caso de que vayas a originar más macros dentro de la misma hoja de cálculo.

En el nuevo cuadro de diálogo que apareció gracias a Módulo, vamos a escribir el siguiente código, por cada “punto y coma” en él, significa que se debe escribir en línea aparte:

  • Sub Crear_Carpeta_Y_Guardar(); Dim sRuta As String; Dim sNombreCarpeta As String; Dim sSeparadorRuta As String; Dim sNombreLibroActual As String; sNombreLibroActual = Application.ActiveWorkbook.Name; sSeparadorRuta = Application.PathSeparator; sRuta = Application.ActiveWorkbook.Path; sNombreCarpeta = CStr(Format(Date, 'dd-mm-yyyy')) _; & '-' & CStr(Format(Time, 'hh-mm-ss')); If Dir(sRuta & sSeparadorRuta & sNombreCarpeta, vbDirectory) = Empty Then; MkDir (sRuta & sSeparadorRuta & sNombreCarpeta); End If; Application.ActiveWorkbook.SaveCopyAs Filename:=sRuta _; & sSeparadorRuta & sNombreCarpeta & sSeparadorRuta & sNombreLibroActual; Application.StatusBar = 'Una copia se guardó en: ' & sRuta _; & sSeparadorRuta & sNombreCarpeta & sSeparadorRuta & sNombreLibroActual; End Sub

desactivando el mensaje de la barra de estado de excel

¿Cuál es la rutina que desactiva el mensaje en la barra de estado de Excel?

Si se da el caso de que quieres desactivar todo el efecto de la macro ejecutada en el apartado anterior, puedes el siguiente código que te daremos a continuación; el modo de introducción es el mismo. Así mismo, te recordamos que con Excel también es posible importar coordenadas y direcciones a Google, este es el código para desactivar la rutina:

  • Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range); If Not (Application.StatusBar = False) Then; Application.StatusBar = False; End If; End Sub
Subir