miércoles, 19 de noviembre de 2014

Crear un ComboBox en la Ribbon de Excel con XML y el Custom UI Editor.

Curso:
Formato:
Artículo/Tutorial.
Archivos necesarios:Personal v0.01.xlsm.
ImagenesCombo.rar.
Anterior Artículo/Tutorial:Act. y Des. Botones...
Siguiente Artículo/Tutorial:Próximamente.
Versión Vídeo/Tutorial:Próximamente.

Vamos a crear un comboBox con imágenes en la Ribbon.
ComboBox con imágenes en la Ribbon.

Seguimos con los artículos dedicados a la personalización de la Interface de Excel usando XML y VBA. Aparcamos de momento el tema de los botones y empezamos con otro control de los que podemos usar en nuestras fichas personalizadas, el comboBox o Cuadro Combinado. ¿Qué es un comboBox? Bueno pues se trata de uno de los controles más usados en todos los programas, son controles que muestran listas, en las que podemos seleccionar alguno de sus elementos. En realidad podemos seleccionar y escribir, por eso se llaman cuadros combinados. Son una combinación de un cuadro de texto en el que podemos escribir y una lista en la que podemos seleccionar. Por ejemplo, en la siguiente imagen podemos ver el cuadro combinado que permite aplicar formatos numéricos a las celdas de Excel.

ComboBox para seleccionar el formato numérico en Excel.
ComboBox para seleccionar el formato numérico en Excel.

En este artículo nos vamos a centrar en como crearlo, en las opciones que tenemos para variar su aspecto físico, su apariencia. En el siguiente artículo conseguiremos que funcione, como ejemplo haremos lo necesario para que al seleccionar una de las opciones que aparecen en un cuadro combinado, se aplique un filtro. Para realizar los mismos pasos que yo, os he dejado para descargar el documento y las imágenes que uso en el artículo, podéis realizar la descarga a continuación o al inicio del artículo en su ficha descriptiva.


Antes de empezar a crear nuestro primer comboBox os voy a contar un detalle. En la Ribbon podemos crear otro control muy parecido a un comboBox, llamado dropDown. Un dropDown es como un cuadro combinado, pero sin la posibilidad de escribir en el. Es decir, si sólo quiero permitir seleccionar un elemento  y no quiero permitir escribir, esa debería ser mi opción. A mi particularmente siempre me gusta más la opción de los comboBox, pero que sepáis que también tenéis esa otra opción de la que ya hablaremos. De todas las maneras para lo que queremos hacer en este caso, la mejor opción es el comboBox. La idea es que con lo que se seleccione en el comboBox se aplicarán filtros, es decir el texto que se quedará seleccionado en el comboBox será parte del criterio de un filtro. Bueno pues para eso es mejor el comboBox porque es muy fácil acceder al texto que se ha quedado seleccionado. Por el contrario, en un DropDown, no se puede acceder fácilmente al texto que se queda seleccionado. Cuando veamos los dropDown ya veremos que se puede hacer y que no. De momento quedaros con que un comboBox, es la mejor opción si queremos acceder al texto que se queda seleccionado. En la siguiente imagen podéis ver los dos controles, la única diferencia visual que podemos ver a primera vista es que en el de la izquierda se puede escribir, es el comboBox.

comboBox y dropDown. En el primer se puede escribir, en el segundo no.
comboBox y dropDown. En el primer se puede escribir, en el segundo no.

Todo el trabajo que hay que realizar en este artículo lo vamos a realizar en el Custom UI Editor, por lo tanto accedemos a él y abrimos el documento descargado. A Excel solo vamos a ir para ver como queda el código XML que iremos escribiendo, para ver como va quedando el comboBox. Para empezar vamos a crear un customUI para la versión 2010 de Excel. Como ya hemos visto el proceso en artículos anteriores, no entro en detalles. En la siguiente imagen podéis ver como se hace desde el menú Insert.

Insertamos un customUI para Excel 2010.
Insertamos un customUI para Excel 2010.

A continuación debemos añadir algunas líneas de código XML para definir la personalización que vamos a crear y los elementos contenedores en los que vamos a crear el comboBox. El código debe quedar como veis a continuación.

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
  <ribbon>
    <tabs>
      <tab id="fichaRecursosHumanos" label="Recursos Humanos" insertBeforeMso="TabHome">
        <group id="grupoEmpleados" label="Empleados">
          
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

Estas líneas ya las hemos comentado en los artículos anteriores, básicamente creamos una ficha personalizada que aparece justo antes de la ficha Inicio y en su interior tiene un grupo de controles. En la siguiente imagen podéis ver el resultado de esas líneas de código.

Creamos una ficha personalizada con un grupo de controles.
Creamos una ficha personalizada con un grupo de controles.

Dentro del grupo que hemos creado, es donde irá el comboBox. Para hacerlo debemos escribir dentro de las etiquetas group las siguientes líneas de código, debe quedar como vemos a continuación:

<group id="grupoEmpleados" label="Empleados">
  <comboBox id="comboPoblacion" label="Selecciona una población: ">
    
  </comboBox>
</group>
  

Con la etiqueta comboBox definimos cuadros combinados, en concreto aquí hemos creado un comboBox identificado como comboPoblacion y que muestra un texto al lado, en el que se puede leer que debemos seleccionar una población. Como ya sabéis el atributo id identifica al control y en este caso la etiqueta label controla el texto que aparece justo al lado del cuadro combinado, es el texto que ayuda a saber que es lo que debemos seleccionar. En la siguiente imagen podéis ver como ha quedado el comboBox.

ComoBox vacío creado en la ficha personalizada.
ComoBox vacío creado en la ficha personalizada.

En el siguiente paso vamos a dar contenido al cuadro combinado. En este caso se trata de un cuadro combinado con opciones fijas. Es decir, tiene las mismas opciones todo el rato por lo que las opciones las podemos definir en el código XML. Si por ejemplo se tratará de un comboBox que debe cargar las opciones de una hoja de Excel, el proceso para darle contenido sería diferente a lo que vamos hacer ahora. En este caso para darle contenido debemos usar elementos item, escribimos lo siguiente y os comento que hemos hecho.

<comboBox id="comboPoblacion" label="Selecciona una población: ">
  <item id="itemTodas" label="*--Todas las Poblaciones--*"/>
  <item id="itemBarcelona" label="Barcelona"/>
  <item id="itemMadrid" label="Madrid"/>
  <item id="itemPamplona" label="Pamplona"/>
</comboBox>

Por cada opción que aparece en el cuadro combinado debemos utilizar una etiqueta item, debemos definir un item para cada opción, en este caso cuatro. El filtro que aplicaremos en el próximo artículo, utilizará las poblaciones a las que pertenecen unos trabajadores, para mostrar sólo los que trabajan en esa población. He creado cuatro opciones, una para mostrar los datos de todas las poblaciones, otra para mostrar los datos de los trabajadores de Barcelona, otra para los de Madrid y otra para los de Pamplona. Si abrís el documento en Excel esto es lo que tendremos.

Con item creamos cada una de las opciones que se muestran en el comboBox.
Con item creamos cada una de las opciones que se muestran en el comboBox.

En cada item he usado dos atributos, el id y label. Como siempre el id es para identificar, en este caso cada opción que aparece, pero a nosotros nos da igual no lo usamos. Label en este caso se corresponde con el texto que mostrará cada opción. Así ya tendríamos creado el comboBox, pero evidentemente no pasa nada si selecciono una de las opciones, eso lo dejamos para el siguiente artículo. Ahora vamos a conocer algunos atributos más que tiene comboBox e item para ajustar más su apariencia.

martes, 18 de noviembre de 2014

Curso Excel 2013: Copiar Fórmulas con Referencias Relativas.

Curso:
Formato:
Vídeo/Tutorial.
Archivo de Excel:CopiarForm....xlsx.
Anterior Vídeo/Tutorial:Constantes y P...
Versión Artículo/Tutorial:Próximamente.
Acceso al vídeo 
en Youtube:
Seguimos con el Curso de Excel 2013 y con sus Fórmulas. Dentro de las sesiones dedicadas a las fórmulas, en mi opinión las más importantes son las que voy a dedicar a los Tipos de Referencias, hoy empezamos con las Referencias Relativas. En Excel tenemos tres tipos de Referencias: Relativas, Mixtas y Absolutas. Seguro que muchos os estaréis preguntando... ¿Por qué necesitamos tres tipos de referencias? Bueno pues la respuesta es muy fácil, porque en Excel se van a copiar fórmulas a otras celdas y dependiendo de cada caso, tendremos que elegir cual de estos tres tipos de referencias debemos usar, para que las fórmulas copiadas sigan funcionando bien en sus nuevas celdas.

En cuanto empecéis a usar mucho Excel y a crear muchas fórmulas, os daréis cuenta que muchas de ellas son iguales en planteamiento. Por ejemplo, si tengo que calcular totales en varias columnas, todas las fórmulas van a ser igual en cuanto a planteamiento, en todas hay que crear una fórmula que sume. Lo único que cambiará serán las celdas que intervienen, pero en planteamiento la fórmula será la misma.

Bueno pues en estos casos no hay que crear una fórmula para cada celda, lo que hay que hacer es crear una sola fórmula y esa copiarla para el resto de casos. Es ahí, cuando copiemos las fórmulas, cuando surgirá la necesidad de utilizar un tipo de referencia u otro. Si yo me dedico a crear de forma manual, una fórmula para cada caso que se me plantea, da igual que tengamos tres tipos de referencias... Si no copio fórmulas no las necesito. Pero hacer esto significa perder parte de la potencia que tiene Excel y también perder mucho tiempo haciendo fórmulas que en unos segundos estarían acabadas, si se copian. De todas las maneras aunque fuera este el caso, os acabaríais encontrando con ellas. Para poder crear algo avanzado con muchas de las herramientas que forman Excel, es absolutamente necesario que entendáis como funcionan los tres tipos de referencias.

En el vídeo os voy a explicar el primer tipo de referencia, las Referencias Relativas. Son las "normales", las típicas que la mayoría de la gente usa sin saber que son Relativas. Os voy a explicar el comportamiento que tienen este tipo de referencias cuando se copia una fórmula en la que intervienen y para ello os voy a poner varios ejemplos muy fáciles de entender. Es muy importante, durante el vídeo os lo recuerdo muchas veces... Que os quedéis con que pasa cuando copio una fórmula con Referencias Relativas, que comportamiento tienen este tipo de referencias, que cambia en una fórmula que contiene este tipo de referencias cuando es copiada a otra celda, que no cambia... Esta sesión y en las que os hable de las Referencias Mixtas y Absolutas, son el ABC de las Fórmulas de Excel. Cuando dominéis este tema, Excel ya no será un problema para vosotros.

Para poder realizar los pasos del vídeo con los mismos datos que yo, os podéis descargar el siguiente archivo. Es el mismo que está disponible para descargar al inicio de este texto:

Para finalizar ya, como siempre, aquí tenéis el enlace para ver el vídeo desde el Blog, espero que os guste:

  • Nombre: Curso Excel 2013: Copiar Fórmulas con Referencias Relativas.
  • Versión de Excel: ES/Español.
  • Audio: Español.
  • Subtítulos: Español.
  • Duración Vídeo: 20m 41s.


Nada más por hoy. En cuanto a vídeos no creo que publique nada más esta semana, pero artículos si que tengo dos o tres en preparación... Habrá otro poquito de XML para personalizar Excel ;)

jueves, 13 de noviembre de 2014

Fórmulas Básicas en Excel 2013. Uso de Constantes y Prioridad de las Operaciones.

Curso:
Formato:
Vídeo/Tutorial.
Archivo de Excel:
Anterior Vídeo/Tutorial:Crear Fórmulas...
Siguiente Vídeo/Tutorial:Copiar Fórmulas...
Versión Artículo/Tutorial:Fórmulas con Cons...
Acceso al vídeo 
en Youtube:
Hoy, tenemos otro vídeo más dedicado a las Fórmulas, dentro del Curso de Excel 2013. Seguimos conociendo aspectos básicos de la creación de Fórmulas en Excel con los que completar lo que vimos en el vídeo anterior. En esta ocasión me voy a centrar en dos temas: En el uso de Constantes y en la Prioridad de las Operaciones. Son dos temas en los que debéis prestar mucha atención para evitar problemas con las fórmulas. En la primera parte del vídeo os hablaré de las constantes. Excel permite utilizar valores fijos en las fórmulas en lugar de celdas. Esto, aunque está permitido deberíais evitarlo. Un uso excesivo de constantes puede hacer que en el futuro las fórmulas sean muy difíciles de mantener, requerir muchos cambios.

El cambio de las fórmulas para adaptarlas a diferentes situaciones, choca mucho con la filosofía que deberíais llevar en Excel con las fórmulas. La idea es crear fórmulas que reciban datos de entrada y dependiendo de esos datos los resultados pueden cambiar. Es decir lo que pueden cambiar son los parámetros de las fórmulas, pero una fórmula si está bien diseñada no debería cambiar nunca. Se diseña y a partir de ese momento recibirá los datos de entrada para hacer su trabajo y evidentemente si recibe datos diferentes, habrá resultados diferentes. El uso de constantes puede provocar todo lo contrario, cambios continuos en las fórmulas. En el vídeo os doy más detalles y os pongo un ejemplo.

Después de hablar de las Constantes os hablare de la Prioridad de Operaciones. Este es un tema que dependiendo de la relación amor/odio que tengáis con las matemáticas, puede ser que lo tengáis olvidado. Cuando planteamos fórmulas, estas no tienen porque interpretarse o calcularse de izquierda a derecha, tal y como las hemos escrito. Hay operaciones que tienen preferencia sobre otras y por ejemplo se calculará antes una multiplicación que una suma. Si no tenéis en cuenta este factor, podéis recibir resultados erróneos por un mal planteamiento de la fórmula. Para ayudarnos a establecer la prioridad correcta de las operaciones que queremos realizar, tenemos los paréntesis. En el vídeo veremos cual es la prioridad entre operaciones y veremos como usando los paréntesis podemos cambiar por completo el rumbo que lleva una fórmula.

En realidad, es una sesión pensada para evitaros problemas tontos con estos dos temas que os acabo de comentar, que a veces nos pueden hacer perder mucho tiempo. Para poder realizar los pasos del vídeo con los mismos datos que yo, os podéis descargar el siguiente archivo. Es el mismo que está disponible para descargar al inicio de este texto:

Para finalizar ya, como siempre, aquí tenéis el enlace para ver el vídeo desde el Blog, espero que os guste:

  • Nombre: Fórmulas Básicas en Excel 2013. Uso de Constantes y Prioridad de las Operaciones.
  • Versión de Excel: ES/Español.
  • Audio: Español.
  • Subtítulos: Español.
  • Duración Vídeo: 14m 19s.


Nada más por esta semana. El fin de semana intentaré preparar más sesiones y artículos, no se por donde seguiré... ;)

*Siguiente Sesión*: