3
30 Macros útiles y sencillas: Autoborrado de la información El siguiente código es de uso para casos en los que no queremos que la información de nuestros libros de trabajo sea revisado más de una vez y por temas de seguridad la información debe ser borrada, así que vamos a seguir aplicando la estructura repetitiva FOR para lograr este objetivo. Lo primero que vamos a hacer es ingresar al Editor de Visual Basic y para ello desde la primera hoja utilizaremos la combinación de teclas Alt + F11: Nos ubicamos en la ventana del Explorador de Proyectos que tenemos en el panel izquierdo de la ventana del Editor de Visual Basic y damos doble clic sobre el Objeto ThisWorkbook Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next NroHojas = ActiveWorkbook.Sheets.Count For N = 1 To NroHojas Sheets(N).Select Cells.Select

30 Macros útiles y sencillas - Autoborrado de la información

Embed Size (px)

Citation preview

Page 1: 30 Macros útiles y sencillas -  Autoborrado de la información

30 Macros útiles y sencillas: Autoborrado de la información El siguiente código es de uso para casos en los que no queremos que la información de nuestros libros de trabajo sea revisado más de una vez y por temas de seguridad la información debe ser borrada, así que vamos a seguir aplicando la estructura repetitiva FOR para lograr este objetivo.

Lo primero que vamos a hacer es ingresar al Editor de Visual Basic y para ello desde la primera hoja utilizaremos la combinación de teclas Alt + F11:

Nos ubicamos en la ventana del Explorador de Proyectos que tenemos en el panel izquierdo de la ventana del Editor de Visual Basic y damos doble clic sobre el Objeto ThisWorkbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)

On Error Resume Next

NroHojas = ActiveWorkbook.Sheets.Count

For N = 1 To NroHojas

Sheets(N).Select

Cells.Select

Selection.Cells.ClearContents

Next

ActiveWorkbook.Close savechanges:=True

End Sub

Page 2: 30 Macros útiles y sencillas -  Autoborrado de la información

La primea línea marca el principio de la macro y vamos a desglosar esta línea para entender un poco mejor esta macro:

Private Sub: significa Subrutina (Sub) o macro de acceso Privado (Private) y este acceso se aplica cuando se intenta ejecutar desde otra macro.

Workbook: Corresponde a la indicación de que la macro se aplicará sobre el libro de Excel que en ingles se denomina Workbook.

BeforeClose: Corresponde al evento antes de Cerrarse el libro, es decir, cuando se de la instrucción de cerrar el libro, se van a ejecutar unas líneas de código.

En resumen, esta primera línea se interpreta como macro que se ejecutará al momento de cerrarse el libro de trabajo.

La segunda línea On Error Resume Next, es el código con el cual se hace el manejo de los errores que se puedan presentar en la ejecución de la macro para que en caso de que se presente un error, la macro no se detenga abruptamente si no que se detenga su ejecución sin afectar la operación del libro de trabajo.

La tercera línea corresponde a la aplicación de una variable que se llama “NroHojas” y la utilizamos para almacenar en ella la cantidad de hojas que tiene el libro a través del método Contar (Count) que se aplica sobre la propiedad Hojas (Sheets) del libro actual (ActiveWorkbook).

En la cuarta línea vamos a utilizar una instrucción de estructura repetitiva que detallaremos más adelante en otra entrega pero vamos a dar una explicación práctica. Una estructura repetitiva sirve para ejecutar una acción N número de veces; en nuestro ejemplo se trata de repetir la acción de borrar el contenido de todas las hojas, tantas veces como hojas tengamos en el libro.

La penúltima línea es para cerrar el libro guardando cambio pero sin preguntar al usuario por esta opción

La última línea marca el final de la macro con la instrucción End Sub