Como activar una macro limpiar celdas al salir?

Tengo una planilla utilizada en una red, el problema es que las personas no limpian las celdas al cerrar.

He creado un botón para esto pero, tampoco lo utilizan.

Lo que necesito es que el botón que he creado, se active al salir, así el próximo encontrara las celdas limpias.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
???????
End Sub

3 Respuestas

Respuesta
2

De hecho tienes 4 formas de que la hoja se limpie automáticamente sin necesidad de la intervención del usuario, 2 por eventos beforeclose y Open y 2 por eventos del formulario, uno es asignando la activación del botón limpiar al botón de salida o bien al botón que trae por default el formulario (Terminate), te dejo ejemplos, por cierto no se puede mandar llamar desde los eventos de hoja el botón del formulario para limpiar, tienes que copiar el código del botón a dichos eventos,

Private Sub Workbook_BeforeClose(Cancel As Boolean)
activesheet.usedrange.clear
End Sub
'
o tambien al abrir la hoja
'
Private Sub Workbook_Open()
activesheet.usedrange.clear 'Borra todo incluyendo fornatos
activesheet.usedrange.clearcontents 'Borra todo solo deja el formato
end sub
' 
o bien en el formulario cuando si lo cierra en el boton salir
Private Sub cmdsalir_Click()
CommandButton1_Click
End Sub
'
o si lo cierra desde la X de la esquina superior derecha
Private Sub UserForm_Terminate()
CommandButton1_Click
End Sub

El botón se llama "LimpiarCeldas", su función es borrar celdas especificas y no toda la hoja.

Tengo que activarlo al salir o entrar para no arriesgar borrar el formato del formulario.

Oye! Muchísimas gracias, estoy probando pero aun no lo tengo.

Entonces usa cualquiera de los dos eventos open o beforeclose, solo transfiere el código que tienes en el botón limpiarceldas a cualquiera de estos eventos, si intentas llamar el botón desde el modulo de la hoja te va a enviar un error.

Respuesta
1

El botón se llama "LimpiarCeldas", su función es borrar celdas especificas, no toda la hoja.

Tengo que activarlo al salir, o entrar para no arriesgar borrar el formato del formulario.

Oye!

Respuesta

Prueba con esta macro aparte de borrar debes guardar el libro para que tenga el efecto que requieres.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Sheets("Config").Range("A2:H10000") = Clear

ActiveWorkbook.Save

Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Debes adaptar a lo que requieres borrar en esta macro borra A2:H10000

Suscribe a https://youtube.com/programarexcel y recibirás en tu correo las actualizaciones

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas