viernes, julio 21, 2006

Ocultar hojas de calculo en un cuaderno Excel

A veces queremos ocultar una de las hojas de un cuaderno Excel. La forma corriente de hacerlo es mediante el menú Formato---Hoja---Ocultar.




Si queremos prevenir que algún usuario vuelva a hacer visible la hoja, podemos proteger el cuaderno (libro) con el menú de protección y usar una contraseña.



Es sabido que las contraseñas de Excel son muy fáciles de romper. Por lo tanto, este método de ocultar hojas no es muy seguro.

De hecho no existe ningún método seguro, pero si podemos aprovechar una característica que la mayoría de los usuarios de Excel desconocen.


La Hoja de Excel cuenta con una serie de propiedades. Una de ella es la propiedad "Visible". Esta propiedad puede tener uno de tres valores: "xlSheetVisible", "xlSheetHidden" o "xlSheetVeryHidden".



Hojas ocultas con la propiedad xlSheetHidden (la que aplica Excel cuando usamos el menú Formato) pueden hacerse visible con el menú Formato---Hojas---Mostrar. Hojas ocultas con la propiedad xlSheetVeryHidden no aparecen en este menú y por lo tanto serán invisibles para la mayoría de los usuarios regulares de Excel.

Para cambiar la propiedad de la hoja debemos acceder al cuadro de propiedades de esta.
Ya hemos visto que uno de los caminos de hacer visible el cuadro de propiedades es hacer visible la barra de herramientas del Cuadro de Controles y allí pulsar el botón Propiedades




Otra variante es abrir el editor de Visual Basic (Herramientas---Macros---Editor de Visual Basic) y allí cliquear la Hoja1 (o la que queramos ocultar) para activar la ventana de Propiedades



si la ventana no aparece usamos el menú View---Properties Window en el menú del editor.

En ambos casos procedemos de la misma manera. Abrimos la lista desplegable en la ventanilla de la propiedad Visible, y señalamos el valor "2 – xlSheetVeryHidden"




Para mostrar nuevamente la hoja, sólo podemos utilizar la ventanilla de propiedades del editor de Visual Basic y devolver el valor de la propiedad Visible a xlSheetVisible nuevamente.


Categorías: Varios_

Technorati Tags:

4 comentarios:

Anónimo dijo...

Hola esta bueno este ejemplo de verdad pero tengo un problema, una vez que aplico la propiedad xlshellveryHidden desaparece como tus has dicho la hoja pero la inquietud es como hacerla visible debido a que como la hoja se hace invisible no puedo llegar nuevamente a ella y hacerla visible para poder hacer los cambios, gracias de antemano.

Jorge L. Dunkelman dijo...

Hola, como dice el último párrafo de la entrada "Para mostrar nuevamente la hoja, sólo podemos utilizar la ventanilla de propiedades del editor de Visual Basic y devolver el valor de la propiedad Visible a xlSheetVisible nuevamente".
En Herramientas--Macro abres el editor de Visual Basic. Si no ves la ventanilla de Propiedades, la abres con el menú View--Properties Window.

Anónimo dijo...

Hola! buscando información sobre permisologia di con tu nota, es excelente no tenia idea de esto, por eso te molesto con lo siguiente ¿es posible en excel que un usuario pueda ingresar los datos una sola vez pero sin poder modificarlos? y si quiere modificarlos sea necesario ingresar una clave? es esto posible??, si tienes una idea por favor dame un rayo de luz.. gracias!

Jorge L. Dunkelman dijo...

Hola
el problema consiste en que para ingresar datos, la celda debe estar desprotegida. Por lo tanto también se podrá cambiar el datos ingresado. Si protegemos la celda, no podemos ingresar datos.
tal vez se podría creando una interfaz con un formulario. El usuario pondría el dato y una macro evaluaría si el valor a ingresar es distinto del valor corriente de la celda. De todas maneras no me parece trivial.