Cerrar libro con referencias

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Cerrar libro con referencias

Notapor Nalek » 15 Oct 2004 05:33

Muy buenas. Mi problema es el siguiente. Estoy haciendo una aplicación que consta de varios libros. Uno de ellos es el principaly abre y cierra el resto. El problema es que he tenido que crear unas referencias desde otros libros al principal y cada vez que intento cerrar el libro, me sale un mensaje diciéndome que no puedo cerrarlo porque otro libro contiene referencias a él. Yo tengo el evento Beforeclose implementado y ahí­ es donde cierro el resto de los libros, pero ni siquiera me entra ahi. Muchas gracias Un saludo
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Nalek
Miembro Nuevo
Miembro Nuevo
 
Registrado: 15 Oct 2004 05:24
Ubicación: Madrid

Re: Cerrar libro con referencias

Notapor Adrian » 15 Oct 2004 08:15

Nalek, espero poder ayudarte con las siguintes macros:

Sub auto_close()'esta macro se auto ejecuta al cerrar el libro
Application.DisplayAlerts = False 'no muestra mensajes de alertas
'Application.ActiveWorkbook.Save
'Application.ActiveWorkbook.SaveAs Filename:="archivo.xls"
'las dos últimas instrucciones permiten guardar el libro o
'guradarlo como, respectivamente
End Sub

Sub salesinpreguntar() 'sale sin grabar
Application.DisplayAlerts = False
'puedes guardarlo
Application.ActiveWorkbook.Close 'cierra el libro
End Sub

Atte.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Adrian
Moderator
Moderator
 
Registrado: 13 Jun 2004 17:24
Ubicación: Chamical La Rioja ARG

Re: Cerrar libro con referencias

Notapor Nalek » 15 Oct 2004 09:43

Pues no ha funcionado. Me sigue saliendo el mensaje siguiente: "Imposible cerrar libro debido a que otro libro hace referencia a él"

No se si la macro de auto_close está bien porque no entra en ella.
Muchas gracias de todas formas[/img]
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Nalek
Miembro Nuevo
Miembro Nuevo
 
Registrado: 15 Oct 2004 05:24
Ubicación: Madrid

Re: Cerrar libro con referencias

Notapor Adrian » 15 Oct 2004 11:02

Me pregunto si implementaste bien el método BeforeClose, en el editor de VB el la parte izquierda VBAProject(Nombre de tu archivo) doble click en ThisWorkBook y
allí­ pon tu código, por ejemplo:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False'sin mensajes de alertas
Application.ActiveWorkbook.UnprotectSharing'desprotejo libro compartido
Application.ActiveWorkbook.Save'guardo
End Sub

Atte.
Adrian
Equipo Exceluciones
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Adrian
Moderator
Moderator
 
Registrado: 13 Jun 2004 17:24
Ubicación: Chamical La Rioja ARG

Re: Cerrar libro con referencias

Notapor Nalek » 18 Oct 2004 07:45

Me sigue sin funcionar con lo que me has dicho. Yo ya tenia el evento beforeclose creado pero ni siquiera me entra por ahí­. He visto que para los formularios existe un evento que se llama QueryClose que se activa cuando se pulsa el botón de cerrar la ventana. No he encontrado ese evento para los libros. Muchas gracias por tú interés. Un saludo
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Nalek
Miembro Nuevo
Miembro Nuevo
 
Registrado: 15 Oct 2004 05:24
Ubicación: Madrid

Re: Cerrar libro con referencias

Notapor Adrian » 18 Oct 2004 08:26

Nalek, lamento no poder ayudarte, pero te doy otra opción:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False 'sin mensajes de alertas
ActiveWorkbook.UpdateRemoteReferences = False
End Sub

Para ver que se cumple el evento beforeclose, pon un msgbox"Pasa" y sabrás que pasa por ahí­.

Si puedo ayudarte con lo dado, pon tu libro aquí­ que será visto por otros expertos.

Atte.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Adrian
Moderator
Moderator
 
Registrado: 13 Jun 2004 17:24
Ubicación: Chamical La Rioja ARG


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot], Hubito1709 y 8 invitados