9 de septiembre de 2015

Tablas en Excel 2013

Introducción al uso de tablas en Excel

Tu información en Excel es muy útil si sabes como analizarla adecuadamente. Si tienes un conocimiento básico de las tablas en Excel podrás organizar la información de una manera fácil de entender.
Esta es una serie de artículos previamente publicados en este sitio Web que te ayudarán a aprender lo escencial para utilizar las tablas en Excel de manera que puedas presentar tus datos adecuadamente:
  1. ¿Qué es una tabla de Excel?
  2. Tablas en Excel
  3. Cómo crear una tabla en Excel
  4. Agregar filas a una tabla de Excel
  5. Editar registros de una tabla de Excel
  6. Aplicar estilos a una tabla de Excel
  7. Filtrar registros de una tabla
  8. Filtrar números en Excel
  9. Filtrar datos por fecha
  10. Filtrar datos de tabla por color
  11. Fórmulas en tablas de Excel
  12. Referencias estructuradas

1. ¿Qué es una tabla de Excel?


Las tablas de Excel son un rango de celdas que contiene datos y su fila superior es una fila de encabezados que describen el contenido de cada columna. La nueva funcionalidad de tablas fue introducida en Excel 2007.
Aunque siempre hemos podido crear tablas en Excel, la nueva implementación de las tablas nos permite realizar ciertas tareas comunes de una manera más fácil. Además, ayuda a eliminar algunos errores comunes que se cometían con anterioridad.

Entendiendo las tablas de Excel

Las tablas de Excel son un rango de celdas que ha sido estructurado adecuadamente con nuestros datos. Cada fila de una tabla corresponde a una sola entidad, por ejemplo, una tabla puede contener información de los empleados de una empresa y por lo tanto cada fila hará referencia a un empleado diferente.
Qué es una tabla de Excel
Las tablas tienen encabezados en la parte superior y cada uno de ellos describe la información contenida en cada columna. Así por ejemplo, nuestra tabla de empleados tiene los encabezados   ID (de empleado), NombreApellidoSalarioDepartamento.
Esta misma tabla se puede crear con cualquier versión de Excel, sin embargo los beneficios los veremos cuando convertimos este rango de celdas en una tabla “oficial”. Para crear una tabla de Excel debemos elegir la ficha Insertar y posteriormente pulsar el botón Tabla. Esto convertirá el rango de celdas en una tabla de Excel.
Tablas en Excel
Una vez que hemos convertido un rango de celdas en una tabla, Excel podrá responder de una manera más inteligente a las acciones que hagamos sobre la tabla. Por ejemplo, si creamos un gráfico de Excel basado en una tabla, al momento de agregar nueva información el gráfico será actualizado automáticamente con las nuevas filas de la tabla.
Diferencias entre rangos y tablas de Excel
A continuación en listaré algunas características de las tablas de Excel que las hacen diferentes a los rangos de celdas:
  • Al activar cualquier celda de la tabla se habilitará la ficha contextual llamada Herramientas de tabla la cual contendrá comandos adicionales para trabajar con la tabla.
  • Se puede aplicar un estilo a la tabla con tan solo elegirlo de la galería de estilos.
  • Cada encabezado de columna contiene una lista desplegable la cual podemos utilizar para ordenar o filtrar los datos de la tabla.
  • Si tenemos una tabla que contiene muchas filas y movemos la barra lateral derecha de hacia abajo, en lugar de que los encabezados de la tabla desaparezcan, Excel remplaza automáticamente las letras de las columnas por los encabezados de la tabla.
  • Las tablas soportan referencias estructuradas lo que significa que en lugar de utilizar referencias de celdas, podemos utilizar el nombre de la tabla y de los encabezados.
  • La esquina inferior derecha de una tabla tiene una pequeña flecha que nos permite agregar fácilmente una nueva fila o una nueva columna. Solamente debemos arrastrar dicha esquina hacia abajo o hacia la derecha.
Las tablas de Excel nos ofrecen diversos beneficios al momento de trabajar con nuestros datos así que puedes comenzar a hacer uso de ellos y tener una mejor experiencia de uso en Excel.

¿Cómo crear una tabla en Excel?

El objetivo de una tabla de Excel es almacenar la información de una manera consistente para que sea más fácil darle formato, ordenarla y filtrarla. Tú puedes crear una tabla en Excel que te ayude a analizar mejor la información.

¿Cómo crear una tabla en Excel?

Para crear una tabla en Excel, lo primero que debes hacer es ingresar los títulos de columna. Así que haz clic en la celda en blanco en donde deseas introducir la nueva tabla e ingresa los títulos de columna como pueden ser: No. de empleado, Departamente, Nombre, Apellido, etc. Los títulos de columna deben aparecer siempre en una sola fila y sin celdas vacías entre ellos.
Cómo crear una tabla en Excel
Ahora puedes comenzar a ingresar los datos justo por debajo de los títulos de columna que acabas de crear:
Cómo crear una tabla en Excel
Ahora asegúrate de que la celda activa sea cualquier de las celdas que contienen tus datos y haz clic en el comando Tabla que se encuentra en el grupo Tablas de la ficha Insertar.
Cómo crear una tabla en Excel
Excel detectará el conjunto de celdas que acabas de introducir y colocará un borde punteado sobre los datos, al mismo tiempo que muestra el cuadro de diálogo Crear tabla, el cual automáticamente mostrará el rango de celdas donde se encuentra la información. Si por alguna razón el rango de celdas desplegado es incorrecto, utiliza el botón de selección para elegir el rango de celdas adecuado.
Cómo crear una tabla en Excel

Tabla con encabezados

Antes de hacer clic en el botón Aceptar asegúrate de tener seleccionada la opción La tabla tiene encabezados. Finalmente haz clic en Aceptar y Excel dará formato a la tabla e insertará filtros para cada una de las columnas.
Cómo crear una tabla en Excel
Otra forma de insertar una tabla es haciendo clic en el comando Dar formato como tabla que se encuentra en el grupo Estilos de la ficha Inicio. Con este comando puedes seleccionar desde un inicio el estilo que prefieres dar a la tabla.
Cómo crear una tabla en Excel

5 de septiembre de 2015

Formularios en VBA

Formularios en VBA

Los formularios en VBA no son más que un cuadro de diálogo de Excel donde podremos colocar controles que nos ayudarán a solicitar información del usuario. Podremos colocar cajas de texto, etiquetas, cuadros combinados, botones de comando, etc.

Crear un formulario en Excel

Los formularios de Excel son creados desde el Editor de Visual Basic donde debemos seleccionar la opción de menú Insertar y posteriormente la opción UserForm.
Formularios en VBA
Inmediatamente se mostrar un formulario en blanco y de igual manera podrás observar el Cuadro de herramientas:
Formulario en Excel 2010
Si no ves el Cuadro de herramientas puedes seleccionar el menú Ver y la opción Cuadro de herramientas.

Agregar controles al formulario

Para agregar un control al formulario debes seleccionarlo del Cuadro de herramientas y dibujarlo sobre el formulario. En mi formulario he agregado etiquetas y cuadros de texto así como un par de botones de comando:
UserForm en Excel
El texto de las etiquetas se modifica en la propiedad llamada Caption. Para realizar este cambio solamente selecciona el control y se mostrará la ventana de Propiedades donde podrás hacer la modificación.  De igual manera el texto desplegado en los botones de comando se modifica en su propiedad Caption.

Código para el botón Cancelar

El botón cancelar cerrará el formulario sin guardar la información capturada en ningún lugar. El código que debemos utilizar es el siguiente:
Private Sub CommandButton2_Click()
Unload Me
End Sub
Para agregar este código puedes hacer doble clic sobre el control. La sentencia “Unload Me” cerrará elformulario.

Código para el botón Aceptar

A diferencia del botón Cancelar, el botón Aceptar colocará los datos de las cajas de texto en las celdas A1, B1 y C1. El código utilizado es el siguiente:
Private Sub CommandButton1_Click()
Worksheets("Hoja1").Range("A1").Value = Me.TextBox1.Value
Worksheets("Hoja1").Range("B1").Value = Me.TextBox2.Value
Worksheets("Hoja1").Range("C1").Value = Me.TextBox3.Value
End Sub
Al pulsar el botón Aceptar se transferirán los valores de los controles TextBox hacia las celdas de la Hoja1.

Botón para abrir formulario

Para facilitar la apertura del formulario puedes colocar un botón ActiveX en la hoja con el siguiente código:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

Probar el formulario

Observa cómo cada uno de los botones realiza la acción correcta al pulsarlos:
Ejemplo de formulario VBA en Excel

Botón de opción en VBA

Botón de opción en VBA

Un botón de opción es un control ActiveX que nos permitirá seleccionar una sola opción dentro de un grupo de botones de opción. A diferencia de las casillas de verificación, los botones de opción dependen uno del otro.

El botón de opción en Excel

Para insertar un botón de opción hacemos clic en el comando Insertar de la ficha Programador.
El botón de opción en Excel
Un solo botón de opción no hace mucho sentido, así que siempre agregamos dos o más botones de opciónpara permitir que usuario haga una selección de cualquiera de ellos.
Insertar botones de opción
Una vez que se ha agregado un segundo botón de opción podrás notar que al seleccionar uno de ellos se desmarcarán todos los demás.

La propiedad Caption

De manera predeterminada Excel colocará el botón de opción con un nombre como OptionButton1. Para cambiar este texto debemos editar la propiedad Caption del botón de opción.
La propiedad Caption del botón de opción

El botón de opción en VBA

Para saber si un botón de opción ha sido seleccionado podemos acceder a su propiedad Value de la siguiente manera:
1
2
3
Private Sub OptionButton1_Click()
If OptionButton1.Value = True Then MsgBox ("Has seleccionado la opción Hombre")
End Sub
La propiedad Value es la que nos indica si el control está seleccionado, en cuyo caso, la propiedad será igual aTrue. Para este ejemplo, al validar que el botón de opción está seleccionado, se mostrará un cuadro de diálogo con un mensaje sobre la opción seleccionada.

Casilla de verificación en VBA

Casilla de verificación en VBA

Una casilla de verificación es un control ActiveX que podemos utilizar para permitir que un usuario marque una opción y por lo tanto poder conocer sus preferencias al verificar dicho valor en código VBA.

El control ActiveX casilla de verificación

Para insertar este control debemos ir al comando Insertar y seleccionar la opción Casilla de verificación (Control ActiveX).
Control ActiveX Casilla de Verficación
Después de dibujar este control tendrás el siguiente resultado:
Casilla de verificación en Excel

Propiedades de una casilla de verificación

La primera propiedad que desearas modificar de una casilla de verificación será su propiedad Caption que es la que almacena el texto desplegado dentro del control ActiveX. Por ejemplo, si deseo que el control muestre el texto “Mayor de edad” debo hacer el cambio de la siguiente manera:
Propiedad Caption de una casilla de verificación
La otra propiedad de una casilla de verificación que tal vez quieras modificar será la propiedad Value que de manera predeterminada tendrá el valor False lo cual indica que el control se mostrará desmarcado. Si deseas que el control se muestre marcado de manera predeterminada, debes poner el valor True en la propiedadValue:
Propiedad Value de una casilla de verificación

Valor de una casilla de verificación

Una casilla de verificación nos dirá su ha sido seleccionada o no, es decir, nos devolverá un valor FALSO o VERDADERO. Para leer este valor debemos acceder a la propiedad Value del control de la siguiente manera:
Private Sub CheckBox1_Click()
Range("C4").Value = CheckBox1.Value
End Sub
Esta línea de código coloca el valor de la casilla de verificación en la celda C4. De esta manera, al seleccionar la casilla de verificación obtendré el siguiente resultado:
Valor de una casilla de verificación
Para validar en VBA si la casilla de verificación tiene un valor u otro podemos utilizar un código como el siguiente:
If CheckBox1.Value = True Then Range("C4").Value = 1
If CheckBox1.Value = False Then Range("C4").Value = 0
La primera línea valida si el control ActiveX tiene un valor verdadero y  de ser así coloca el número 1 en la celda C4. Si la casilla de verificación no ha sido seleccionada (falso) entonces colocará el número cero en la celda C4.

Cuadro combinado en VBA

Cuadro combinado en VBA

Excel tiene un control ActiveX conocido como Cuadro combinado el cual también es llamado comúnmente por su nombre en inglés: Combo Box. Este control nos permite crear listas desplegables en nuestros formularios.
Para insertar un Cuadro combinado debemos ir a la ficha Programador y dentro del botón Insertar pulsar el comando Cuadro combinado (control ActiveX):
Control ActiveX cuadro combinado
Después de dibujar el Cuadro combinado tendrás un resultado como el siguiente:
Cuadro combinado insertado en una hoja

Agregar elementos al cuadro combinado

Si quiero que el Cuadro combinado muestre los valores del rango A1:A5, puedo utilizar la propiedadListFillRange donde puedo indicar este rango:
Propiedad ListFillRange del Cuadro combinado
Como resultado obtendré los valores de las celdas como elementos del Cuadro combinado:
Elementos de un cuadro combinado

Diferencia con el cuadro de lista

Una diferencia importante entre el Cuadro combinado y el cuadro de lista es que el primero permite que el usuario capture una opción diferente a las mostradas en la lista. En el ejemplo anterior no aparecía el día domingo como parte de los elementos, sin embargo puedo capturar el día domingo dentro del cuadro de lista.
Capturar un elemento en un cuadro combinado
Si quieres evitar que el usuario introduzca sus propios valores existen dos opciones:
  • Utilizar el control ActiveX Cuadro de lista en lugar del Cuadro combinado
  • Utilizar el Cuadro combinado pero validar la opción seleccionada con código VBA de manera que nos aseguremos que el usuario ha seleccionado una opción de la lista. Un ejemplo de código de validación es el siguiente:
Código VBA para validar elemento seleccionado de un cuadro combinado

Asociar una celda al cuadro combinado

Al igual que con otros controles ActiveX, podemos asocias una celda al cuadro combinado de manera que muestre el elemento de la lista que haya sido seleccionado. Esta configuración la hacemos en la propiedadLinkedCell:
Propiedad LinkedCell de un cuadro combinado
Cuando selecciones un elemento del cuadro combinado se reflejará dicha selección en la celda indicada en la propiedad LinkedCell:
Celda vinculada a un cuadro combinado