Imprimir página | Cerrar ventana

Limpiado de opción de una sesión anterior al abrir

Impreso de: Foro de Access y VBA
Categoría: Otros de Microsoft: Windows y Office
Nombre del foro: Excel
Descripción del foro: Foro de Excel y VBA de Excel
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86366
Fecha de impresión: 26/Marzo/2026 a las 19:21


Tema: Limpiado de opción de una sesión anterior al abrir
Publicado por: katsumoto
Asunto: Limpiado de opción de una sesión anterior al abrir
Fecha de publicación: 06/Junio/2022 a las 20:52
En la hoja principal de un xlsm de Excel tengo dispuestas una serie de "opciones" agrupadas en un "cuadro de grupo de opciones", y, aunque no sea importante, por simples razones estéticas, quisiera que Al Abrir el libro correspondiente no aparezca marcada la opción ejercitada en una sesión anterior.

Es posible?

Gracias de antemano.

Saludos al foro.



Respuestas:
Publicado por: AnSanVal
Fecha de publicación: 07/Junio/2022 a las 22:12
Ouch  Que un usuario no quiera mostrar datos sensibles, no solo lo comprendo sino que siempre aconsejo que así debe ser.


Pero pretender que con esto, ...

«... tengo dispuestas una serie de "opciones" agrupadas en un "cuadro de grupo de opciones"

... y esta propuesta...

«... quisiera que Al Abrir el libro correspondiente no aparezca marcada la opción ejercitada en una sesión anterior...»

... podamos responder a: «... Es posible?...»

Desde aquí no se puede 'VER' como es tu modelo de datos, ni si son opciones personalizadas o son integradas, cuales son esas opciones, que hacen esas opciones, y seguramente muchos otros detalles que desconozco.

Por mucha buena voluntad que pongamos... al menos yo... ¡Ni idea!




-------------
Saludos desde Tenerife.


Publicado por: katsumoto
Fecha de publicación: 07/Junio/2022 a las 22:53
Gracias AnSalVal por tu interés  Smile , la verdad es que lo que al principio era algo puramente estético ha dejado de serlo para ser algo muuuucho más tras incluir en la hoja VARIOS grupo de opciones.

A ver si me explico. Imaginaos lo siguiente:

El usuario abre el libro del xlsm y lo hace en una hoja activa en la que se presentan, por ejemplo, un grupo de opciones que le preguntan dónde va a viajar, si a Italia (primera opción del Grupo 1).. a Rusia (segunda opción del Grupo 1)... Francia (tercera opción del Grupo 1)... y así sucesivamente... Ah! 'detrás' de cada opción una macro ejecuta una serie de acciones/código...

En OTRO grupo de opciones -estamos todavía en la MISMA HOJA...-, se le pregunta al usuario otra serie de cuestiones cuya respuesta, TAMBIÉN, determina un  resultado acorde con las respuestas que, ACUMULATIVAMENTE, se van produciendo...

El problema está en que si el usuario se cierra el libro, y lo vuelve a abrir después, en la hoja activa estarán las opciones ejercitadas en la última sesión!, y eso es lo que quisiera evitar: que cuando el usuario vuelva a abrir el libro y se vuelva a presentar la 'hoja de opciones', aquélla se presente LIMPIA, sin opciones marcadas...

Perdón por las mayúsculas, en absoluto pretendo gritar  Sonreír


Publicado por: AnSanVal
Fecha de publicación: 08/Junio/2022 a las 02:01
Bueno, ya sabemos que son 'Opciones personalizadas', que desencadenan acciones VBA.

Al menos ya puedo responderte: «Sí, es posible que la opción aparezca desmarcada».

Para ello debes hacer uso del evento Workbook_BeforeSave perteneciente a ThisWorkbook.


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
' >>> Aquí debes poner las instrucciones necesarias para restablecer el estado de tus 'opciones' <<<
End Sub

De este modo al abrir el libro tendrá el estado que pretendes.




-------------
Saludos desde Tenerife.


Publicado por: katsumoto
Fecha de publicación: 08/Junio/2022 a las 07:58
Ya, ya, AnSalVan, el caso es que aunque provengo del mundo Access, lo que me dices de: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
' >>> Aquí debes poner las instrucciones necesarias para restablecer el estado de tus 'opciones' <<<
End Sub, más o menos lo sabía -bueno, no exactamente, yo pensaba en el evento Open de ThisWorkBook...-, el problema está en que no tengo ni idea de cuáles son esas instrucciones necesarias de las que hablas... he intentado a ver si la super maravillosa y extraordinaria  herramienta de "Grabar Macro" de la ficha "Programador" -cómo echo de menos algo semejante en ACCESS...- me podía ayudar pero nada... Ouch


Publicado por: AnSanVal
Fecha de publicación: 08/Junio/2022 a las 11:56
Ciertas instrucciones de Excel (para mi gusto muchas) no son tenidas en cuenta por la grabadora.

De todos modos (con mucha probabilidad) este no es el caso en que la grabadora debería darnos el código adecuado.

Si tú no sabes que instrucciones son las que tienes que aplicar... es que no fuiste tú quien hizo las macros que están detrás de 'las opciones' que quedan marcadas, solo se trataría de deshacer 'lo hecho'. 

La tarea debería ser llevada a cabo por la(s) persona(s) que hizo (hicieron) las macros. Quien no puede saberlo es cualquiera de nosotros, no podemos ver el libro, no sabemos lo que significa 'la opción queda marcada' ni cual era la situación inicial (esto es lo que hay que ajustar), ni ... etc. etc.

Lamento no poder ofrecerte una mejor ayuda (ya supongo que esto no es lo que esperabas leer).







-------------
Saludos desde Tenerife.


Publicado por: AnSanVal
Fecha de publicación: 08/Junio/2022 a las 14:12
Intentando 'adivinar' lo que estás pensando, ¿Es algo parecido a esto?:




En caso de que la respuesta sea SI:

Las opciones estarán vinculadas a alguna celda, supongamos [A3], [A10], [A11] y [A12]. 


En ese caso la instrucción seria: Range("A3:A12").ClearContents


El rango A3:A12 (en mi ejemplo) lo tengo con fuente de color blanco, para que no se vean los valores (1, falso, verdadero, verdadero).





-------------
Saludos desde Tenerife.



Imprimir página | Cerrar ventana