miércoles, julio 19, 2006

Listas desplegables dependientes en Excel con Validación de Datos.

Ya hemos visto que la función Validación de Datos de Excel (Datos---Validación de Datos) permite controlar los datos que son introducidos en una celda. Una de las posibilidades es crear una lista desplegable de la cual el usuario puede elegir el valor a introducir en la celda.
En una nota anterior hemos tratado como evitar duplicados con validación con validación de datos. En otra hemos mostrado un modelo para asignar operarios a máquinas, de manera que cada operario asignado "desaparezca" de la lista desplegable.

En esta nota mostraremos otras posibilidades de crear listas desplegables dependientes.

Supongamos por ejemplo, que queremos de acuerdo al país elegido en una celda, la lista desplegable en la celda contigua muestre solamente ciudades de ese país.

Los pasos a seguir son:

1 – creamos nombres que contengan la lista de los países y las listas de las ciudades de cada uno de los países. Es importante que el nombre del rango que contiene las ciudades sea idéntico al nombre del país.



2 – en la celda de los países aplicamos validación de datos, con la opción "lista" usando el nombre "países"



3 – en la celda de las ciudades aplicamos validación de datos, también con la opción "lista", pero en este caso aplicamos la función INDIRECTO para crear una referencia dinámica al nombre que contiene la lista:

=INDIRECTO($A$5)

Este es el motivo que el nombre del rango de las ciudades coincida con el nombre del país



A partir de este momento, al elegir un nombre de país en la celda de países, la lista de validación de datos se ajusta al nombre que contiene los nombre de las ciudades de ese país




Todo sobre listas desplegables en Excel, técnicas avanzadas y descarga gratuita de ejemplos  en la Caja de Herramientas Excel - Listas Desplegables de JLD. Ver la nota o ir a la página de descarga de la guía.





sábado, julio 15, 2006

Insertar un calendario permanente en hojas de calculo Excel con Controles ActiveX

Ayer vimos como usar controles ActiveX en hojas de Excel. Para insertarlos debemos previamente activar la barra de herramientas del Cuadro de Controles. En la esquina inferior derecha de la barra del Cuadro de Controles, está el icono "más controles".

Al activarlo tendremos acceso a muchos más controles (no todos disponibles para las hojas de cálculos). Uno de ellos es el Calendar Control, que nos permite insertar un calendario permanente en la hoja de cálculos.



Para insertar el calendario en una hoja Excel, procedemos como con los otros controles ActiveX, como mostramos en la entrada anterior.

Una vez insertado en la hoja, abrimos el menú de propiedades, para adpatar el calendario a nuestras necesidades

En este calendario_spejemplo de calendario en Excel, tenemos una tabla con ventas diarias en la Hoja2. En la Hoja1 insertamos el calendario, y lo ligamos (LinkedCell) a la celda B7 (que no será visible al estar cubierta por el calendario).

En la celda B14 introducimos esta fórmula, que usa la celda ligada B7 como argumento

=FECHANUMERO(B7)

Esta formula convierte el valor textual del calendario a una fecha. En la celda C14 introducimos una función BUSCARV, para obtener el valor de las ventas correspondientes a la fecha elegida en el calendario

=SI(B14>MAX(Hoja2!A:A);"fecha sin datos";BUSCARV(B14;Hoja2!A:B;2;0))

la condición lógica con la función MAX, nos permite evitar valores erróneos cuando se elige una fecha que no exste en la tabla de ventas.

Ahora, podemos elegir la fecha en el calendario y ver la suma de ventas correspondientes en la celda C14.





Además del menú de propiedades en la barra de herramientas, también se puede cliquear con el boton izquierda el control y abrir este diálogo





Categorías: Varios_

Technorati Tags: ,

Controles ActiveX en hojas de calculo Excel

Como ya hemos visto en una entrada anterior, Excel permite agregar controles en las hojas de cálculos. En las versiones más recientes de Excel existen dos tipos de controles: controles Excel y controles ActiveX.
En las entradas anteriores hablamos sólo sobre los controles Excel, que aparecen en la barra Formularios. Estos controles son menos flexibles y tienen menos posibilidades que los controles ActiveX, pero por lo general su funcionalidad es suficiente para cualquier usuario Excel promedio.
Sobre las diferencias entre los controles de la barra Formularios y los controles ActiveX en Excel, pueden leer el resumen de John Walkenbach (en inglés).

Los controles ActiveX son mucho más flexibles y ofrecen muchas más posibilidades, pero por lo general, requieren el uso de Vba.
Para usar los controles ActiveX en la hoja de cálculo tenemos que activar la barra Cuadro de Controles (clic en la zona de barras de herramientas y selección o Ver---Barra de Herramientas---Cuadro de Controles)



En la parte superior de la barra aparecen tres iconos: modo de diseño, propiedades y ver código.

Estos tres iconos nos permiten cambiar el aspecto y las propiedades del control y también agregarle funcionalidad con Vba (macros). Estas tareas se realizan estando en "modo de diseño". Una vez terminada la adaptación del control a nuestras necesidades, debemos pulsar el icono para salir del modo de diseño y poder utilizar el control.
Para insertar un control ActiveX procedemos como con los controles Excel, cliqueando con el mouse el control y ubicándolo en la hoja de cálculo.
Una de las diferencias con los controles Excel, es que los controles ActiveX tienen muchas más propiedades que pueden ser adaptadas. Para acceder al menú de las propiedades activamos el control y cliqueamos el icono de propiedades en la barra de Cuadro de Controles.
Por ejemplo, insertamos una casilla de verificación y abrimos el menú de propiedades

Como podemos ver, existen un gran número de propiedades, como el color, la fuente y otras. La propiedad "LinkedCell" nos permite ligar el "estado" del control a una celda en la hoja. Esta celda puede ser utilizada luego como argumento en una función. Por ejemplo, he cambiado el texto de la casilla a prueba de "prueba de casilla", el color del fondo y la he ligado a la celda C1. Al final del proceso apretamos el icono "modo de diseño" para activar el control. A partir de ahora, de acuerdo a la situación de la casilla, en la celda C1 aparecerá el valor VERDADERO (casilla señalada) o FALSO.




Como ya hemos dicho, podemos utilizar el valor de la celda C1 como argumento en una función. Por ejemplo, en la celda A4 podemos escribir esta fórmula
=SI(C1;"casilla señalada";"casilla sin señalar")
y de acuerdo a la situación del control, aparecerá uno de los dos textos.


En la esquina inferior derecha de la barra del Cuadro de Controles, está el icono "más controles". Al activarlo tendremos acceso a muchos más controles (no todos disponibles para las hojas de cálculos).

En la próxima entrada veremos como insertar un calendario permanente en una hoja de cálculo de Excel.



Categorías: Varios_

Technorati Tags: