30 noviembre, 2023

MACRO PARA EVITAR GUARDAR CAMBIOS EN HOJA TRAS SER MODIFICADA

Si habitualmente usáis una hoja (o cualquier archivo de Excel) para calcular datos y que además usan otros compañeros, es posible que no queráis que nadie haga cambios, modifique fórmulas o cambie formatos.

Pues bien, esta macro hace exactamente lo que os he comentado. Debéis pegar la macro en el objeto «Thisworkbook» de vuestro proyecto VBA. De forma que cuando quieran guardar, o guardar como, les aparecerá el cuadro de mensaje «LOS CAMBIOS NO SE GUARDARÁN» y no les permitirá el guardado.

Os dejo un ejemplo de una hoja denominada «CÁLCULO DE BENEFICIOS» y que solo sirve para calcular y no se deben guardar las modificaciones:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
MsgBox "LOS CAMBIOS NO SE GUARDARÁN", vbInformation, "CALCULO DE BENEFICIOS"
Cancel = True
End Sub

Si además deseáis que cuando cierren el programa, no surja el típico mensaje de «Desea guardar los cambios efectuados en Cálculo de Beneficios» y se cierre directamente, tan solo tenéis que agregar esta otra macro debajo de la anterior:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Close Savechanges:=False
End Sub

Por último, dado que se trata de una macro que no deja guardar cambios, os preguntaréis como vais a hacer para guardarla previamente en la hoja. Esto es sencillo, antes de pegar la macro, abrid la hoja de Excel de forma que no esté habilitada para macros, de esta forma podréis pegar la macro y guardarla. Luego solo tendréis que activar las macros y funcionará perfectamente.

Saludos 😉

Comparte este post

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies