Cerrar un libro al cerrar formulario

Tengo un formulario desde excel esta me esta generando el error de los recursos insuficientes y es por que al cerrar el form el libro de excel no se cierra y se van acomulando.

Podrían ayudarme

Ya que requiero que me guarde los datos sin preguntar y no me este generando ese error

Que el libro de excel (no esta visible) se cierre

Y que al iniciar tampoco se abra el libro si no se le da una contraseña

Respuesta
1

- Para que no muestre las alertas, este es el comando:

Application.DisplayAlerts = False

Para que guarde los datos automáticamente y después cierre el libro, sería esto:

ThisWorkbook.Close SaveChanges:=True

Podrías crear un botón "Macro" para que al hacer click en el botón, haga estas funciones...

Para proteger el documento con contraseña, es más fácil...
Haz clic en archivo > información > Proteger libro > cifrar con contraseña

Guarda los cambios y ya tendrás el libro protegido... nadie que no sepa la contraseña podrá abrirlo, asi que, pon a buen recaudo la contraseña porque de otro modo, no podrás verlo.

El problema es que cuando abro otro libro de excel este se abre y se puede editar y si lo protejo no me funcionan las macros.

Woww! ¿Al abrir otro libro se abre este mismo? -

No llego a entender qué pasa, pero en principio, cada libro es independiente, salvo que estén vinculados, y en este caso, te pediría sólamente autorización para actualizar los datos del libro que vas a abrir.

Por otro lado, la protección no impide que las macros se ejecuten... Creo que el problema es que tienes protegido el libro para que no se ejecuten las macros, pero no para que no se pueda abrir.

Si lo deseas, te dejo mi dirección y me envías el libro para que pueda echarle un vistazo.

Mi correo es: -Correo Gonzalo-

mi correo: [email protected]

1 respuesta más de otro experto

Respuesta
2

Tal y como dice Gomzky, puede usar la instrucción thisworkbook. Close. Pega el siguiente código en tu formulario, y al momento de cerrar el form se cerrara el libro y guardara los cambios realizados.

Private Sub UserForm_Terminate()
    ThisWorkbook.Close True
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas