lunes, abril 10, 2006

Excel - Agregando controles en hojas de cálculo - Nota II

En la entrada Excel - Agregando controles en hojas de cálculo vimos como insertar controles directamente en la hoja de cálculos. De esta manera podemos disfrutar de la funcionalidad de estos controles sin ningún tipo de programación (macros – Vba).
El uso de controles no sólo da un aspecto "profesional" a los modelos que desarrollamos en las hojas de cálculo, sino que también nos permite controlar el ingreso de datos y el uso de las fórmulas.
En el
ejemplo de esta entrada veremos como usar los controles "barra de desplazamiento" y "control de número".
Los principios generales para el uso de controles son:
1 – activar la barra "Formularios"
2 – Insertar el control requerido en la ubicación deseada
3 – Abrir el menú "formato de control". Para hacer esto hay que activar/seleccionar el control y apretar Ctrl+1 (o el menú Formato--->Control)

A partir de aquí veremos las definiciones de los controles del ejemplo. Nuestro ejemplo es un modelo sencillo para calcular el pago de un crédito dados los siguientes datos: tasa de interés anual, término del crédito en años, y monto del crédito:



Para "controlar" los valores del término, utilizamos el control "control de números"; para controlar los valores del monto del préstamo utilizamos el control "barra de deslazamiento".
Las definiciones son las siguientes:

Control de números: controla el número de períodos




Las definiciones son evidentes. Hay que prestar atención a la definición "Vincular con celda". En esta celda aparece el dato elegido por el usuario al apretar el control. Esta celda es uno de los argumentos en la función que calcula el monto del pago.

Barra de desplazamiento: controla el monto del informe


También aquí las definiciones son evidentes. Como en el caso anterior los resultados de activar el control son registrados en la celda C10, la cual funciona como argumento en la fórmula que controla el cálculo del monto del pago:

=PAGO(C8,C9,-C10)



Categorías: Funciones&Formulas_, Varios_


Technorati Tags:

16 comentarios:

  1. Saludos, debo decir que llegue por accidente a su blog, sin embargo la informacion es excelente, de verdad es magnifica, pero ante todo la forma en que lo explica es muy buena, quiero aprovechar para felicitarlo por el magnifico trabajo, y hacerle una pregunta que he tratado de resolver desde hace algunos dias... es posible insertar una barra de desplazamiento en un grafico?, mi problema es que llegado a X punto, el area para graficar se termina y ya no veo el siguiente punto, solucione esto en primer lugar con las funciones de OFFSET y COUNTA, sin embargo por el gran numero de datos llegan a no distinguirse los puntos, por eso me preguntaba si era posible lo de la barra de desplazamiento?

    De antemano muchas felicidades por su blog, es excelente y muchas gracias por la ayuda que pueda proporcionarme.

    -Guillermo

    ResponderBorrar
  2. Hola Guillermo, gracias por los conceptos.
    Es posible agregar una barra de desplazamiento en un gráfico. No tengo ningún ejemplo desarrollado para el tema pero es una buena idea para una nota.
    Trataré de desarrollar un ejemplo y publicarlo en mi blog sobre gráficos y presentación de datos.

    ResponderBorrar
  3. Lo prometido es deuda! Acabo de publicar en mi bog sobre Gráficos y Presentación de Datos, una entrada sobre como determinar la cantidad de valores a exhibir en un gráfico.

    ResponderBorrar
  4. Esta Increible, extendere mi comentario en el link del blog, visitenlo esta genial.

    -Guillermo

    ResponderBorrar
  5. Muchas gracias por tu ayuda,me sirvió bastante y el ejemplo esta muy claro .. Felicidades por tu esfuerzo..
    Saludos desde Cancun Mexico

    ResponderBorrar
  6. Lo primero muchas felicidades por el blog, es el primer sitio donde busco siempre que tengo algún priblema con excel.

    Mi consulta es la siguiente, ¿Qué ha pasado con la pestaña control dentro de Formato de Control de un Activex? ¿Ya no se pueden usar botones sin necesidad de programar?

    Muchas gracias, y repito mi enhorabuena

    ResponderBorrar
  7. Juanito,
    la pestaña Control pertenece a los controles de la barra de formularios (controles que no son ActiveX). Es decir, puedes ver la pestaña sólo si estás usando los controles de la barra de formularios.

    ResponderBorrar
  8. Problema solucionado, muchas gracias!!

    ResponderBorrar
  9. Consulta: Tengo un formulario con múltiples opciones en cadena. Como hago para que cuando aplique el primer control me filtre las sub opciones siguientes y no todas. Por ejemplo tengo la lista de países de Sudamérica en la primer columna ahí aplico el primer control eligiendo una. Luego coloco en la segunda columna las localidades. Como hago para que en el segundo control solo me aparezcan como opción las localidades de el país seleccionado?

    ResponderBorrar
  10. Supongo que los formularios no están construidos con validación de datos (con la opción Lista); en casi afirmativo puedes fijarte en esta nota.
    Si los controles son de la colección Formulario, los pasos serían:
    1 - crear nombres (Fórmulas-Nombres definidos) para cada uno de los países. Estos nombres se refieren a los rangos que contienen las localidades de cada país.
    2 - Crear un nombre que se refiere al rango que contiene la lista de los páises. Digamos que el nombre es "paises".
    3 - Crear un control con el rango de entrada "paises" y ligarlo a una celda, digamos A1. En la celda B1 ponemos la fórmula =INDICE(paises,A1) para que nos de el nombre del país elegido.
    4 - Crear un nombre, "localidades", que se refiere a la fórmula =INDIRECTO(B1).
    5 - Creamos el segundo control y en el rango de entrada ponemos "localidades".

    El segundo control siempre mostrará las localidades del país elegido en el primer control.

    Tal vez publique una entrada ampliando la explicación.

    ResponderBorrar
  11. Estimado Jorge, sigo sin poder resolver mi problema. Te doy mas detalles. Tengo por ejemplo una tabla de la siguiente forma en el libro1 de mi excel:

    Celda A1 Argentina - Celda B1 Mendoza
    Celda A2 Argentina - Celda B2 La Rioja
    Celda A4 Argentina - Celda B3 Buenos Aires
    Celda A4 Brasil - Celda B4 San Pablo
    Celda A5 Brasil - Celda B5 Rio de Janeiro

    En el libro 2: coloco
    Celda A1 : Paises - Celda B1 Aplico El formato de control sobre la columna A del libro 1 y me coloca en el despegable las posibilidades de los paises dentro de la misma.

    luego coloco en la Celda A2: Localidades - Celda B2 aplico el formato de control sobre la columna A del libro 1 y me coloca en el despegable las posibilidades de las localidades dentro de la misma.

    Ahora bien si por ejemplo selecciono Argentina, dentro del despegable tambien me aparecen San Pablo y Rio...


    Como lo soluciono?

    Disculpa mi poco manejo de excel...

    Desde ya muchas gracias

    ResponderBorrar
  12. Te sugiero que sigamos la consulta por mail privado. Fijate la dirección de mi mail en el enlace Ayuda (en la parte superior del blog) y envíamo el archivo.

    ResponderBorrar
  13. Muchas gracias por escribir este blog y compartir tu conocimiento. Está todo muy bien explicado y es un gustazo consultar las dudas en el. Te diré que lo tengo como página de inicio :-)

    Tengo una pregunta con respecto a este tema. ¿Existe alguna forma de que acepte decimales en los valores máximo y mínimo y en los incrementos?

    Espero tu pronta respuesta.

    Un saludo, de nuevo gracias.

    ResponderBorrar
  14. No, solo se pueden definir valores enteros. Pero si la idea es que el valor en la celda vinculada cambie por valores menores a 1, puedes hacer lo siguiente (por ejemplo):
    1 - defines como celda vincula, digamos, la celda A1;
    2 - en la celda A2 pones la fórmula =A1/100

    Si estás usando el control para definir el valor de una fórmula, de esta forma el cambio sería por valores de 0.01

    ResponderBorrar
  15. Hola Jorge, de nuevo molestándote... pero ahora es un desafío!.
    ¿Cómo puedo crear un contador Up/Down con un botón "Control de Número" (SpinButton), que me ofrezca valores negativos ascendentes, -1,-2,-3,-4...etc?

    Por razones de diseño en una hoja donde queremos probar fechas que alcanzan un determinado día, y luego retroceder en el tiempo restando 1 a esa fecha, y no logramos hacerlo con "SpinButton", porque no decrementa debajo del cero.
    SiI uso un Control ActiveX, cuando llega a cero, pega un salto a mas 65000 y pico.
    ¿Cómo podemos hacer eso, de generar valores -1,-2,-3...etc con ese control o con otro parecido?.
    He buscado en varios foros en inglés incluso pero no doy con la solución, me podrías ayudar o darme alguna pista?
    Mil gracias desde ya.
    Alfredo.

    ResponderBorrar
  16. Un desafío interesante. Publicaré na nota sobre el tema en breve.

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.