Mensage al cerrar aplicacion Excel

5 envíos / 0 nuevos
Último envío
JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
Mensage al cerrar aplicacion Excel

Al cerrar la aplicación Excel me dice lo de la imagen y me marca en azul la línea.
Al darle Aceptar, me marca en amarillo la línea en el código de Thisworkbook

Me toca decir que tuve que reinstalar todo por un error en el sistema, error que pasado unos días no pude solucionar, (archivos controladores dañados).

Volví a instalar el mismo Office que tenia antes y colocando y registrando librerías, tal como siempre lo hago, pero el mensaje no es sobre alguna librería, no se a que se refiere.

Antes de Aceptar

Despues de Aceptar

¿A que puede ser la causa de esto?

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 2 horas 2 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Algo parecido me ocurrió una

Algo parecido me ocurrió una vez. se dañó Excel y perdió la referencia a la propia biblioteca de objetos de Excel.

comprueba si tienes la referencia a 

  • Visual Basic for Aplications
  • Microsoft Excel xx Object library
  • OLE Automation
  • Microsoft Office xx Object Library
Estas referencias se crean siempre por defecto.
 
En aquella ocasión tuve que crear un libro de nuevo, exportar los módulos de código a archivos de texto y luego volver a importarlos en el nuevo libro, porque no fui capaz de hacerlo funcionar. Aunque no sé si tu caso será similar, con esto nunca se tiene la certeza...

 

 

------
Ya sé Excel, pero necesito más.

JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
no hace referencia a alguna

No hace referencia a alguna libreria (control) y si a referencia de un objecto, tanto que parece haber encontrado la falla pero no se como corrigirla para que proceda tal como quisiera y lo hiciera como anteriormente

Me toca señalar que tuve que reinstalar todo por un error en el sistema, error que pasado unos días no pude solucionar, (archivos controladores dañados).

Volví a instalar el mismo Office que tenia antes y colocando y registrando librerías faltantes en 2013, como siempre lo he echo, pero el mensaje no es sobre alguna librería, (creo) hace referencia de un objecto.

Descobri que el problema esta aquí


Punto de falla
Desactive todo el código y funciono bien sin mensaje alguno.
Le active la línea Hoja5.Select y volvió el mensaje.
Coloque Sheets(5).Select y funciono bien SIN mensaje.
Volvi a colocarle Hoja5.Select y bien, sin mensaje. No entiendo el porque.
Ahora dejo Hoja5.Select funcionando y activo Hoja7.Range("C7,C12,B14:B23,E14:E23").value = "" vuelve el menage
Cambio a Sheets(7) y funciona pero me borra lo de la hoja 7. 7 en el conteo de pestañas que dicha hoja es la numero 7 contando las pestañas de izquierda hacia derecha y eso esta mal por que no es esa la que se pretende y como verás, me borra las celdas de la hoja que no es
¿Como podría arreglar esto para que si alguien cambia el nombre de pestaña, no exista problema alguno en los códigos?

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 2 horas 2 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Es difícil protegerse contra

Es difícil protegerse contra cambios de la hoja, que no están bajo tu control.

Para estas ocasiones yo suelo utilizar un rango con nombre para identificar una hoja o una posición en el libro y así independizarme de los cambios más frecuentes del usuario.

suponiendo que es más difícil que un usuario se dedique a cambiar los nombres definidos en el libro.

 

Así, por ejemplo, si me interesa la hoja 7, defino un nombre que haga referencia a una celda de esa hoja (una celda que no vaya a ser eliminada por el usuario fácilmente), digamos que le pongo por nombre "CeldaReferencia", un nombre de ámbito el libro.

En el código, para referirte a la hoja 7, lo puedes hacer indirectamente mediante ese nombre de rango, es decir, te refieres a la hoja donde está ese rango, así se independiza del nombre que tenga la hoja, porque si cambian el nombre a la hoja, ya se ocupa Excel de actualizar la definición del nombre.

como te decía, para referirme a la hoja donde está esa celda de referencia, puedo emplear la propiedad Parent del rango

Range("celdareferencia").Parent

en tu ejemplo:

Range("celdareferencia").Parent.Range("C7,C12,B14:B23,E14:E23").value = ""

 

------
Ya sé Excel, pero necesito más.

JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
Desconozco la razon pero me

Desconozco la razon pero me he dado cuenta de que libros que antes funcionaban bien, ahora presentan ese detalle.

He eliminado todo el codigo de ThisWorkbook y pase a lcodigo de la hoja7 (Factura).

Elimine todo el codigo de la hoja7 y sigue lo mismo.

Voy a la hoja Inicio y le doy en el icono para ir a la hoja Factura y me muestra una mano con los dedos recogidos y solo el del medio apuntandome.

Prube algunos libros con macros que tengo guardados, plantillas y otros y todo bien, solo estos que son unos 15 o mas son los que presentan este fallo.

Subo uno de estos libros

Ya estoy dudando de proyectos echos en excel, me parece que para este tipo de cosas, excel es muy falso pero apesar no saber mucho de esto, es de Excel que he echo algunas plantillas que tengo

Tengo el 2013

 

AdjuntoTamaño
Package icon proyecto_ventas4_simple.zip309.13 KB