Antes de cerrar el archivo...

10/07/2010 - 19:42 por ElProfe | Informe spam
Saludos grupo:

Busco ayuda para una situacion que me reporta error. Es la siguiente:

Deseo que Excel detecte el momento en que lo han de cerrar y antes de
cerrarse el archivo haga:
1) vaya a la hoja oculta donde estan los campos a borrar
2) borre el contenido de dos rangos
3) vuelva a ocultar la hoja
4) salve el archivo
5) salga (o cierre) de Excel

Para el anterior propósito estoy usando el siguiente código, pero me
reporta error:

Private Sub Workbook_BeforeClose()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
A1.Visible = xlSheetVisible 'hace visible la hoja de
trabajo
Range("_RUno").Clear 'Borra rango _Uno
Range("_RDos").Clear 'Borra rango _Dos
ActiveSheet.Visible = xlSheetVeryHidden 'ocultar la hoja de
trabajo
A0.Visible = xlSheetVisible 'hace visible hoja menú
A0.Select 'Selecciona
hoja menú
Application.ScreenUpdating = True
Application.DisplayAlerts = True
ActiveWorkbook.Save 'salva el archivo
'End Sub

Por favor, alquien que le de una mirada al código y me diga cual es la
falla para que no corra.

Gracias,

Manuel

Preguntas similare

Leer las respuestas

#1 Abraham
16/07/2010 - 21:17 | Informe spam
No mencionas en que linea(s) te da el error, pero quizas estas
asumiendo que al cambiar el nombre de la hoja en su respectiva
pestaña, tambien cambio el de su modulo, lo que no necesariamente se
da:

A1.Visible = xlSheetVisible

Quizas quiciste decir:

WorkSheets("A1").Visible = xlSheetVisible

Es solo un ejemplo de varios que veo en tu codigo. Comenta

Abraham


On 10 jul, 12:42, ElProfe wrote:
Saludos grupo:

Busco ayuda para una situacion que me reporta error. Es la siguiente:

Deseo que Excel detecte el momento en que lo han de cerrar y antes de
cerrarse el archivo haga:
1) vaya a la hoja oculta donde estan los campos a borrar
2) borre el contenido de dos rangos
3) vuelva a ocultar la hoja
4) salve el archivo
5) salga (o cierre) de Excel

Para el anterior propósito estoy usando el siguiente código, pero me
reporta error:

Private Sub Workbook_BeforeClose()
   Application.ScreenUpdating = False
   Application.DisplayAlerts = False
   A1.Visible = xlSheetVisible           'hace visible la hoja de
trabajo
    Range("_RUno").Clear                'Borra rango _Uno
    Range("_RDos").Clear                'Borra rango _Dos
   ActiveSheet.Visible = xlSheetVeryHidden         'ocultar la hoja de
trabajo
   A0.Visible = xlSheetVisible            'hace visible hoja menú
   A0.Select                                           'Selecciona
hoja menú
   Application.ScreenUpdating = True
   Application.DisplayAlerts = True
   ActiveWorkbook.Save                    'salva el archivo
'End Sub

Por favor, alquien que le de una mirada al código y me diga cual es la
falla para que no corra.

Gracias,

Manuel
Respuesta Responder a este mensaje
#2 ElProfe
31/07/2010 - 04:25 | Informe spam
Abraham:

Por favor, disculpa mi tardanza en atender tu nota.

La verdad no lo gro identificar la línea que me genera el error y lo
que planteas seguramente que es posible (no soy experto en esto del
VBA).

En cuanto a que...

A1.Visible = xlSheetVisible Quizas quiciste decir:
WorkSheets("A1").Visible = xlSheetVisible

...resulta que, en mi caso, cuando manejo código VBA, trato de que los
nombre de las hojas sean lo mas cortos (o breves) posibles para
facilitarme el trabajo y en efecto, en el caso de mi ejemplo los dos
nombres, o sea el (Name) y el Name usan nombres cortos (o abreviaturas
en algunos casos).
En mi ejemplo los nombres son:

(Name) = A1 (es el que utilizo para todos los propósitos de VBA y que
solo se ve en el editor de VBA), y

Name = EF (es el que corresponde al nombre de la pestaña de la hoja y
se ve tanto en el editor de VBA como en la pestaña o nombre de la
hoja)

Gracias por tu observación.

Cordial saludo,

ElProfe
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida