Você está na página 1de 198

Calcular una fecha futura en Excel

En ocasiones necesitamos calcular la fecha que corresponde a cierta cantidad de das


posteriores a la fecha actual, por ejemplo, qu fecha ser dentro de 10 das?
Afortunadamente este tipo de clculo es muy fcil de realizar en Excel.

Determinar una fecha final


Si queremos conocer la fecha de conclusin de una tarea y sabemos su fecha de inicio y
su duracin, entonces ser tan simple como hacer una suma en Excel, por ejemplo:
=HOY() + 10

La funcin HOY nos devolver la fecha actual y al sumar el valor 10 obtendremos la


fecha que corresponde a diez das posteriores al da de hoy. Este clculo funciona para
cualquier fecha y lo puedes observar en el siguiente ejemplo donde hago la misma
operacin pero con diferentes fechas de inicio y duracin:

Cmo es que Excel puede calcular una fecha futura con una simple suma? Para
poder comprender mejor este comportamiento de la herramienta debemos conocer la
manera en que Excel trabaja con fechas.

Las fechas en Excel son nmeros


Los clculos de fechas son muy sencillos de realizar porque las fechas en Excel son en
realidad nmeros enteros. Si tienes tiempo utilizando Excel sabrs que todas las celdas
tienen un valor, y que dicho valor puede desplegarse en pantalla de una manera
diferente lo cual sucede con las fechas: su valor es numrico pero se despliega en
pantalla con un formato que estamos acostumbrados a reconocer como fecha. Por
ejemplo, si en una celda de Excel colocas el valor 1 y posteriormente le das el formato
de fecha corta, observars que Excel cambia el valor desplegado de la celda por la fecha
01/01/1900.

De esta manera sabemos que la fecha 01/01/1900 tiene asignado el nmero 1 y por lo
tanto cualquier otra fecha ser un nmero entero que representar la cantidad de das
que han transcurrido a partir del 01/01/1900. En la siguiente imagen he agregado una
columna donde he copiado las fechas del ejemplo anterior y he cambiado su formato a
General para ver el nmero entero que le corresponde a cada fecha. Posteriormente, he
abierto el cuadro de dilogo Formato de celdas, donde al seleccionar la categora
General se muestra el nmero entero correspondiente a la celda D2:

Observa que la fecha final tiene asignado el nmero 41285 que es precisamente la suma
de 41275 + 10. Es por esta razn que los clculos con fechas son muy fciles de realizar
para Excel ya que realmente estar trabajando con nmeros enteros que podr sumar o
restar fcil y rpidamente.

Ejemplo: Calcular la fecha de parto

Como hemos aprendido hasta ahora, si sumamos un valor entero a una fecha estaremos
sumando cierta cantidad de das. Ahora hagamos un ejemplo con mayor grado de
complejidad y que es calcular la fecha de parto de un beb a partir de una fecha
determinada.
Para realizar este clculo utilizar la Regla de Naegle que indica que la fecha probable
de parto se obtiene de la siguiente manera: A partir de la fecha de la ltima regla de la
mujer sumar un ao, restar tres meses y finalmente sumar 7 das. Hagamos este clculo
paso por paso.
Para sumar un ao a la fecha inicial podra sumar el valor 365, pero har uso de las
funciones FECHA, AO, MES y DIA para comprobar su funcionamiento. As que
considera la siguiente frmula:
=FECHA(AO(A2)+1, MES(A2), DIA(A2))

La funcin FECHA genera una fecha vlida en Excel a partir de los valores numricos
del ao, mes y da. En este caso obtendr el ao de la fecha original que se encuentra en
la celda A2 y le sumar el valor 1 con lo cual obtendr de inmediato el valor del ao
siguiente. Posteriormente indicar tanto el mes como el da de la fecha original. Observa
el resultado de esta frmula:

El siguiente paso para calcular la fecha de parto indica que debemos restar tres meses al
resultado anterior y para eso utilizar de nueva cuenta la funcin FECHA de la siguiente
manera:
=FECHA(AO(B2), MES(B2)-3, DIA(B2))

Observa que en esta ocasin ser el segundo argumento de la funcin FECHA el que
sufra una modificacin para indicar que deseo restar tres meses a la fecha original.
Como resultado obtendremos la fecha deseada:

Como ltimo paso, el procedimiento de clculo nos indica que debemos sumar 7 das a
la fecha anterior por lo que ser necesario hacer dicha suma en el tercer argumento de la
funcin FECHA tal como lo puedes observar en la siguiente imagen:

De esta manera hemos calculado una fecha futura a partir de una fecha inicial
conociendo la cantidad de aos, meses y das a sumar o restar. Y como seguramente lo
estars deduciendo, todo el clculo anterior se puede hacer con una sola frmula de la
siguiente manera:
=FECHA(AO(A2)+1, MES(A2)-3, DIA(A2)+7)

Calcular una fecha futura en das laborables


Los ejemplos que hemos desarrollado hasta ahora hacen los clculos con das naturales
es decir, tomando en cuenta todos los das del calendario. Sin embargo, es muy comn
vernos en la necesidad de calcular una fecha futura pero considerando los das de
descanso semanal.
Por ejemplo, supongamos que para los datos de nuestro primer ejemplo necesitamos
sumar la duracin en das laborables a partir de la fecha de inicio, es decir, sin
contabilizar los sbados y los domingos. Para lograr este tipo de clculo podemos
utilizar la funcin DIA.LAB de la siguiente manera:

Debes tener cuidado de no confundir la funcin DIA.LAB con la funcin DIAS.LAB ya


que la diferencia es solamente una letra. La funcin DIA.LAB calcular una fecha a
partir de un nmero especificado de das laborables. Tambin es importante recordar
que esta funcin siempre considerar el fin de semana como los das sbado y domingo
y no hay nada que podamos hacer para modificar dicho comportamiento. Pero si
necesitas usar das de descanso diferentes, entonces debes utilizar la funcin
DIA.LAB.INTL que en su tercer argumento nos permitir elegir de un listado de
opciones para los das de descanso:

Si elijo el nmero 17 para nuestros datos de ejemplo, se calcular la fecha final


considerando el da sbado como el nico da de descanso semanal y por lo tanto
obtendremos el siguiente resultado:

Es as como al utilizar ambas funciones, DIA.LAB y DIA.LAB.INTL, podemos


calcular una fecha futura en Excel considerando los das de descanso semanal. La
primera funcin tiene establecidos los das de descanso como sbado y domingo
mientras que la funcin DIA.LAB.INTL nos permitir elegir los das de descanso que
mejor convengan para nuestros clculos.
Determinar una fecha de vencimiento en Excel

Tengo una columna de datos con fechas de inicio de contratos y una segunda columna
con la duracin de cada uno de ellos. Necesito una tercera columna que calcule la fecha
de vencimiento del contrato.
Duracin en das

Si la columna de duracin est en das, entonces el clculo es muy sencillo porque


solamente necesito sumar ambas columnas para obtener la fecha de vencimiento.

Duracin en meses

Por el contrario, una duracin en meses nos obliga a utilizar algunas funciones para
obtener el resultado correcto. La primera funcin que utilizaremos ser la funcin
FECHA, la cual nos ayuda a obtener una fecha en base a un nmero de ao, mes y da.
Considera la siguiente frmula:
=FECHA(2011, 12, 14)

Con esta frmula obtendremos una fecha para el 14 de diciembre del 2011. Esta funcin
ser clave para calcular la fecha de vencimiento de nuestro ejemplo porque es
precisamente el segundo parmetro de la funcin (los meses) donde haremos la suma de
la duracin del contrato para obtener la fecha de vencimiento correcta. Iremos paso por
paso.
El primer parmetro de la funcin FECHA es el ao por lo que utilizar la funcin AO
para extraer el ao de la fecha de inicio de la siguiente manera:

El segundo paso en este procedimiento es extraer el mes de la fecha inicio utilizando la


funcin MES y adems sumarle el nmero de meses de la duracin. Esto har que Excel
sume los meses necesarios que necesitamos para llegar a la fecha de vencimiento.

El paso final ser extraer los das de la fecha de inicio con la funcin DIA.

Excel har los clculos adecuados por nosotros y nos devolver la fecha de
vencimiento al transcurrir el nmero de meses especificado.

Es importante notar que la funcin FECHA ajusta automticamente el ao en caso de


que sea necesario. En nuestro ejemplo, al sumar 2 meses a la fecha 30 de diciembre del
2011 forzosamente tendra que dar como resultado una fecha en el ao 2012 y Excel
hace el clculo correctamente.
Duracin en aos

En caso de que tuviera la duracin del contrato en aos, entonces debo hacer un
procedimiento similar al anterior solo que la suma de la duracin se debe incluir en el
primer argumento de la funcin FECHA que es el parmetro para el ao.
Calcular el tiempo transcurrido

Calcular la diferencia entre dos fechas en Excel es algo muy sencillo. En este artculo
mostrar cmo calcular ese tiempo transcurrido entre ambas fechar y presentar el
resultado en diferentes unidades de tiempo como aos, meses, semanas, etc.
Supongamos que tenemos la fecha de nacimiento de una persona y queremos calcular el
tiempo que ha vivido hasta el da de hoy. Observa la siguiente imagen:

Tiempo transcurrido en das

Puede observar que la lnea que se encuentra sombreada es la de los das transcurridos y
la razn principal es porque esa es la operacin ms sencilla de todas. Para obtener la
cantidad de das entre dos fechas es suficiente con realizar una resta entre ambas. En
este ejemplo la frmula utilizada es: =B3-B2
Excel regresar el tiempo transcurrido en das utilizando decimales y por motivos de
presentacin se los he removido, sin embargo t puedes dejar el formato con decimales
si as lo deseas.
Calcular las horas, minutos y segundos

El siguiente paso natural es calcular las horas, lo cual es sumamente sencillo una vez
que tengo el nmero de das. Solamente debo multiplicar el resultado en das por 24:
=A8 * 24

Y una vez que tengo las horas puedo obtener los minutos haciendo una multiplicacin
por 60 que es la cantidad de minutos en una hora: =A9 * 60
Finalmente, y como has de suponer, para obtener los segundos multiplico el resultado
anterior de nuevo por 60: =A10 * 60 y as obtengo los segundos transcurridos entre
ambas fechas.
Tiempo en semanas

Como puedes observar el clculo de das es la parte central para el resto de clculos y
las semanas no son la excepcin ya que las podemos obtener fcilmente realizando una
simple divisin: =A8 / 7

Das laborables

El clculo de das laborales entre dos fechas ya no lo podemos realizar con una simple
operacin aritmtica, pero afortunadamente existe la funcin DIAS.LAB la cual realiza
el clculo por nosotros, solamente es necesario especificar ambas fechas como los
argumentos de la funcin y Excel nos devolver el resultado correcto: =DIAS.LAB(B2,
B3)

Meses y aos

Obtener los meses es una tarea un tanto ms complicada, porque los meses no tienen la
misma cantidad de das. Lo mismo sucede con los aos ya que tenemos los aos
bisiestos los cuales tienen un da adicional.
Sin embargo Excel provee de una funcin que nos ayuda con este clculo, pero debo
advertirte que sta no es una funcin tradicional, de hecho no la podrs encontrar en la
documentacin de Excel y sin embargo la podremos utilizar. La funcin es conocida
como la funcin SIFECHA y aunque en este artculo no entrar en los detalles de sta
funcin observa cmo me ayuda a obtener los meses transcurridos entre dos fechas:

De una manera similar, esta funcin obtiene los aos transcurridos:

Espera el siguiente artculo donde hablar con mucho ms detalle sobre la funcin
SIFECHA la cual ha permanecido oculta por mucho tiempo y an sigue presente en
Excel 2010.
Fechas en Excel

Excel almacena una fecha como si fuera un nmero entero. Al utilizar un sistema como
ste, Excel puede sumar, restar y comparar fcilmente las fechas sin necesidad de hacer
alguna conversin ni clculo especial.
Por ejemplo, la fecha 1/1/2000 est representada por el nmero de serie 36526 y la
fecha 05/10/2000 tiene asignado el valor 36804. Como puedes imaginar, al realizar una
operacin con fechas se utiliza su nmero de serie para facilitar las operaciones.
El primero y ltimo da de Excel

Excel reconoce todas las fechas posteriores a 1/1/1900. Es por eso que el primer da del
ao 1900 tiene asignado el nmero 1. Por el contrario, el ltimo da que Excel reconoce
es el 31/12/9999 el cual tiene asignado el nmero 2958465.
Valor numrico de una fecha

Es realmente sencillo conocer el valor numrico de una fecha, solamente cambia el


formato de la celda que contiene una fecha a un formato General y Excel desplegar su
valor numrico.

La funcin FECHA

Finalmente mencionar la funcin FECHA la cual nos ayuda a obtener el nmero de


serie que le corresponde a una fecha dados el da, el mes y el ao.

Esta funcin es de gran utilidad para convertir datos a un formato fecha en caso de que
tengas el da, mes y ao en columnas separadas. Una vez convertidos al tipo de dato
adecuado se podrn hacer operaciones con las fechas sin dificultad alguna.
Das laborables con Excel

La funcin DIAS.LAB nos ayuda a obtener el total de das laborables entre dos fechas,
sin embargo tiene un inconveniente y es que asume que los das de fin de semana son el
sbado y el domingo. Qu hacer si queremos considerar das de fin de semana
diferentes?
La funcin DIAS.LAB

Primero comprobar lo que he dicho. As que utilizar la funcin DIAS.LAB para


calcular los das laborables del mes de enero del 2011. Observa el siguiente ejemplo.

Efectivamente existen 21 das laborables en el mes de enero considerando los sbados


y domingos como fin de semana. Pero si quisiera tomar como das de descanso el
viernes y el sbado el nmero de das laborables del mes sera diferente. Para obtener el
resultado deseado utilizar la funcin DIAS.LAB.INTL.
La funcin de Excel DIAS.LAB.INTL

La funcin DIAS.LAB.INTL permite especificar los das del fin de semana que deseo
utilizar. Observa cmo al introducir la frmula Excel me permite seleccionar el fin de
semana adecuado:

Al elegir los das viernes y sbado como el fin de semana a considerar, el resultado de
das laborables para el mes de enero del 2011 cambia a 22 das.

Varios pases del medio oriente tienen un fin de semana establecido en los das viernes y
sbado, lo cual ha sido una de las razones por las que se ha introducido la funcin
DIAS.LAB.INTL en Excel.

Aunque es poco probable que ests leyendo este artculo desde alguno de estos pases,
es ms probable que alguna vez tengas algn trato comercial con alguno de ellos o
simplemente la compaa donde laboras desea hacer un clculo de das laborables
utilizando algn da de la semana en especial.
Frmula para convertir grados decimales a grados, minutos y segundos

Hablando de trigonometra y los sistemas de medicin de ngulos nos encontramos con


que existen dos sistemas de medicin muy comunes: el sistema decimal y el sistema
sexagesimal. En esta ocasin crearemos una frmula en Excel para convertir del sistema
decimal al sexagesimal.
El sistema sexagesimal

El sistema sexagesimal es un sistema que divide cada unidad en 60 unidades de orden


inferior, es decir, es un sistema en base 60. Este sistema lo podemos ver reflejado en la
medida del tiempo, pero tambin es ampliamente utilizado para medir la amplitud de los
ngulos donde las unidades de medicin son los grados, minutos y segundos.
Hoy en da existen aplicaciones de computadora, como AutoCAD, que hacen
mediciones de ngulos y que nos permiten elegir un sistema de medicin, ya sea el
sistema de grados decimales o el sistema de grados, minutos y segundos (sexagesimal).
Por esta razn se hace conveniente encontrar un mtodo eficaz para convertir los
valores entre ambos sistemas.
Algoritmo de conversin

Antes de presentar la frmula de Excel que realiza esta conversin, es importante


mostrar los pasos para convertir un valor del sistema decimal al sistema sexagesimal y
as podremos comprobar que la frmula propuesta funcionar correctamente. Como
ejemplo convertiremos el valor decimal 121.135 al sistema sexagesimal de la siguiente
manera:
1. La parte entera de los grados decimales ser tambin los grados del
sistema sexagesimal (121).
2. Multiplicar los decimales del valor original por 60 (.135 * 60 = 8.1).
3. La parte entera del resultado anterior sern los minutos (8).
4. Multiplicar los decimales del paso 2 por 60 (.1 * 60 = 6).
5. El resultado del paso anterior sern los segundos (6).
6. Tomar los resultados de los pasos 1, 3 y 5 para formar el resultado
final (12186).

Siguiendo estos mismos pasos podremos convertir grados decimales a grados,


minutos y segundos sin mayor problema, as que basados en este algoritmo de
conversin puedes comprobar que los siguientes resultados son correctos:

10.46 = 102736

36.30 = 36180

132.39 = 1322324

Frmula en Excel para convertir grados decimales

Aunque nuestro impulso inicial sera implementar una frmula en Excel que haga la
conversin paso por paso tal como lo describe el algoritmo de la seccin anterior, la
verdad es que en Excel existe un mtodo mucho ms sencillo.
La solucin se basa en el hecho de que las horas ya tienen un sistema de medicin
sexagesimal y Excel opera perfectamente con dicho sistema. Por si no lo sabes, las
fechas en Excel son nmeros enteros entre 1 y 2958465, adems el tiempo en Excel
tambin es representado por nmeros decimales entre 0.0 y 0.99999999. As que bajo
este principio seguiremos los siguientes pasos para realizar la conversin en Excel.
1. Dividir el valor decimal entre 24 para obtener su equivalencia en das
y horas de acuerdo al sistema de medicin de Excel.
2. Aplicar el formato adecuado al resultado anterior para desplegarlo
como horas, minutos y segundos el cual es tambin un sistema de
medicin sexagesimal.

Bajo este entendido, si los grados decimales se encuentran en la celda A2, la frmula a
utilizar ser la siguiente:
=TEXTO(ABS(A2/24), "[h] mm' ss''")

La funcin ABS nos ayuda a obtener el valor absoluto de los grados decimales divididos
entre 24 el cual ser un valor expresado en das y horas de Excel. El siguiente paso es
aplicar el formato adecuado a travs de la funcin TEXTO. Observa que el formato de
las horas se coloca entre corchetes [] para indicar a Excel que muestre los das como
horas. El resultado de aplicar esta frmula es el siguiente:

Los valores decimales mostrados en la imagen son los mismos valores de ejemplo
utilizados previamente y los valores sexagesimales devueltos por nuestra frmula son
exactamente los mismos que hemos obtenido por el procedimiento descrito en la
seccin anterior.
De esta manera la funcin TEXTO nos ayuda a convertir grados decimales a grados,
minutos y segundos de una manera rpida y eficiente en Excel.

INICIO

FUNCIONES

ACERCA

Cmo eliminar datos repetidos en Excel

Excel es una herramienta ampliamente utilizada para generar reportes, los cuales
dependern de la precisin y calidad de los datos, por lo que en ms de una ocasin
necesitaremos eliminar datos repetidos en Excel para poder generar reportes efectivos.
No importa de dnde provengan los datos, la realidad es que ser una accin que
tendremos que realizar frecuentemente por lo que es importante conocer las diferentes
alternativas que tenemos para eliminar duplicados en Excel.
Eliminar repetidos con Filtro avanzado

La primera alternativa que podemos utilizar es el Filtro avanzado que est ubicado en la
ficha Datos > Ordenar y filtrar > Avanzadas. Al hacer clic en el botn Avanzadas se
mostrar el cuadro de dilogo Filtro avanzado donde debemos asegurarnos de elegir las
siguientes opciones:

Copiar a otro lugar: Copiar el resultado a otro rango de celdas.

Rango de lista: Debes colocar el rango que contiene los datos


originales.

Copiar a: Indica la celda donde se iniciar la copia de los datos.

Slo registros nicos: Esta es la opcin ms importante de todas


ya que se encargar de hacer una copia de los registros nicos
eliminando as los datos repetidos.

Al hacer clic en el botn Aceptar se har una copia de los registros nicos y sern
colocados en la celda indicada:

De esta manera habremos eliminado los datos repetidos sin haber modificado los datos
originales. Este mismo mtodo lo podemos utilizar para eliminar datos repetidos en ms
de una columna, por ejemplo, en la siguiente imagen puedes observar que he obtenido
los valores nicos de la combinacin de columnas Nombre y Apellido.

La nica diferencia con el primer ejemplo es que ahora estoy pidiendo a Excel copiar
los registros nicos que se encuentran en las columnas A y B y como resultado obtendr

los valores en las columnas D y E. El mtodo del Filtro avanzado para la eliminacin de
datos repetidos es ampliamente utilizado ya que dicho comando ha estado presente
durante varias versiones de Excel.
El comando Quitar duplicados

A partir de Excel 2007 se introdujo el comando Quitar duplicados que con un solo clic
nos permite eliminar los datos repetidos del rango que hayamos seleccionado
previamente. El comando Quitar duplicados est localizado en la ficha Datos, dentro
del grupo Herramientas de datos. Al pulsar este comando se mostrar el siguiente
cuadro de dilogo:

El comando Quitar duplicados detectar los encabezados en los datos y marcar


automticamente la opcin Mis datos tienen encabezados en caso de haber encontrado
alguno. Adems se mostrar la lista de columnas donde se buscarn los valores
duplicados y podremos seleccionar las columnas que necesitamos incluir en la
validacin. Al pulsar el botn Aceptar se eliminarn los datos repetidos y podremos ver
un mensaje con los resultados del comando recin ejecutado:

Es importante recordar que al eliminar datos repetidos con el comando Quitar


duplicados estaremos afectando directamente los datos originales.
Eliminar repetidos con Tabla dinmica

Otro mtodo que podemos utilizar para eliminar datos repetidos en Excel es utilizar
una tabla dinmica y para ello debemos seleccionar cualquier celda de los datos
originales y pulsar el botn Insertar > Tabla dinmica. Eso mostrar el cuadro de
dilogo Crear tabla dinmica y al pulsar el botn Aceptar tendremos una nueva tabla
dinmica donde debemos arrastrar el campo que contiene los datos duplicados a la
seccin Etiquetas de fila:

De inmediato la tabla dinmica remover cualquier dato repetido y mostrar los valores
nicos bajo la columna Etiquetas de fila. Ser suficiente con copiar las celdas de la tabla
dinmica y pegar dichos valores nicos a cualquier otro rango de celdas para poder
utilizarlo. Si adems quieres saber el nmero de veces que aparece cada uno de los
valores en los datos originales ser suficiente con arrastrar el mismo campo a la seccin
Valores:

Ahora ya conoces diferentes alternativas para eliminar datos repetidos en Excel.


Puedes experimentar con todas ellas y elegir la que mejor se acomode a tus necesidades.
Cmo obtener el nombre de mes en Excel

Cuando trabajamos con fechas es comn tener la necesidad de extraer el mes para
desplegarlo por su nombre, ya sea para colocarlo en una celda o para concatenarlo con
otra cadena de texto. Hoy revisaremos un mtodo muy sencillo para obtener el nombre
de mes en Excel.
Confusin con el formato de fecha

Algunos pensaran que cambiando el formato de la fecha, por un formato que


despliegue el nombre del mes, sera posible utilizar la funcin EXTRAE para obtener el
nombre del mes. Sin embargo, pronto se dan cuenta de que eso no es posible dada la
naturaleza de las fechas en Excel.
Las fechas jams podrn ser tratadas como cadenas de texto ya que son valores
numricos. Lo que sucede es que Excel cambia la manera de desplegar el nmero en
pantalla aplicando ciertos formatos personalizados de celdas de manera que se muestre
como una fecha para nosotros.
Para comprobar lo que acabo de mencionar har un pequeo ejemplo. En la siguiente
imagen puedes observar la misma serie de fechas en las columnas A, B y C donde la

nica diferencia es el formato de la fecha. Si la columna C fuera una cadena de texto,


entonces podra extraer el primer carcter de la izquierda con la siguiente frmula:
=EXTRAE(C2,1,1)

Ahora observa el resultado de la frmula anterior al aplicarla sobre los datos de


ejemplo:

El resultado de la funcin EXTRAE es el nmero 4 aun cuando dicho nmero no forma


parte de la fecha mostrada en la celda C2. Lo que sucede es que la fecha 1 de enero de
2013 tiene asignado el nmero 41275 y la funcin EXTRAE nos est devolviendo
acertadamente el primer dgito de dicho nmero.
Frmula para obtener el nombre de mes

Ahora que ya sabemos que no podemos tratar las fechas como cualquier otra cadena de
texto, es momento de revelar la funcin que nos ayudar a obtener el nombre de mes
en Excel. Para hacer esta extraccin utilizaremos la funcin TEXTO cuyo objetivo es
precisamente convertir un valor numrico en una cadena de texto y de paso aplicar un
formato. La frmula a utilizar ser la siguiente:
=TEXTO(A2, "mmmm")

La celda A2 contiene la fecha 01/01/2013, as que le corresponde el mes de enero el


cual ser desplegado con el formato mmmm:

Observa que al copiar la frmula hacia abajo obtendremos el mes para cada una de las
fechas del rango. El resultado ser el mismo sin importar la columna que utilicemos ya
que todas las columnas tienen las mismas fechas. Otra opcin de formato disponible
para extraer el nombre de mes es la siguiente:
=TEXTO(B2, "mmm")

En lugar de utilizar cuatro letras m, este formato utiliza solamente tres, lo que
ocasiona que el mes se despliegue con su abreviatura de tres letras de la siguiente
manera:

Ambos formatos nos permiten obtener el nombre de mes en Excel, ya sea desplegando
su nombre completo o su forma abreviada. Si quieres aprender un poco ms sobre la
funcin TEXTO y el manejo de fechas consulta el artculo Extraer informacin de una
fecha.
El Editor de Visual Basic

El Editor de Visual Basic, VBE por sus siglas en ingls, es un programa independiente
a Excel pero fuertemente relacionado a l porque es el programa que nos permite
escribir cdigo VBA que estar asociado a las macros.
Existen al menos dos alternativas para abrir este editor, la primera de ellas es a travs
del botn Visual Basic de la ficha Programador.

El segundo mtodo para abrir este programa es, en mi opinin, el ms sencillo y rpido
y que es a travs del atajo de teclado: ALT + F11. El Editor de Visual Basic contiene
varias ventanas y barras de herramientas.

En la parte izquierda se muestra el Explorador de proyectos el cual muestra el


proyecto VBA creado para el libro actual y adems muestra las hojas pertenecientes a
ese libro de Excel. Si por alguna razn no puedes visualizar este mdulo puedes
habilitarlo en la opcin de men Ver y seleccionando la opcin Explorador de
proyectos.

El Explorador de proyectos tambin nos ayuda a crear o abrir mdulos de cdigo que se
sern de gran utilidad para reutilizar todas las funciones de cdigo VBA que vayamos
escribiendo.
Dentro del Editor de Visual Basic puedes observar una ventana llamada Inmediato que
est en la parte inferior. Esta ventana es de mucha ayuda al momento de escribir cdigo
VBA porque permite introducir instrucciones y observar el resultado inmediato.
Adems, desde el cdigo VBA podemos imprimir mensajes hacia la ventana Inmediato
con el comando Debug.Print de manera que podamos depurar nuestro cdigo. Si no
puedes observar esta ventana puedes mostrarla tambin desde el men Ver.
El rea ms grande en blanco es donde escribiremos el cdigo VBA. Es en esa ventana
en donde escribimos y editamos las instrucciones VBA que dan forma a nuestras
macros.
Es importante familiarizarnos con el Editor de Visual Basic antes de iniciar con la
creacin de macros.

Creando una funcin VBA

Como hemos visto en el artculo Tu primera macro con VBA, una subrutina nos ayuda a
organizar y agrupar las instrucciones en nuestro cdigo. El da de hoy te mostrar cmo
crear una funcin VBA, la cual es similar a una subrutina excepto por una cosa.
A diferencia de las subrutinas, las funciones VBA fueron diseadas para retornar un
valor. A travs de una funcin podemos agrupar cdigo que nos ayudar a hacer algn
clculo especfico y obtener un resultado de regreso. Una funcin VBA tambin es
conocida como Funcin Definida por el Usuario, UDF por sus siglas en ingls, y una
vez creada puede ser utilizada de la misma manera que las funciones incluidas en Excel
como la funcin SUMAR o la funcin BUSCARV. Esto hace que las funciones VBA
sean una herramienta muy poderosa.
A continuacin mostrar una funcin que toma un rango y regresa la suma de cada una
de sus celdas. Es importante insertar el cdigo dentro de un Mdulo tal como se muestra
en el artculo Tu primera macro con VBA. Posteriormente ir explicando el detalle de la
funcin.

La palabra clave Function

La primera lnea de cdigo comienza con la palabra Function la cual define el inicio de
la funcin. Observa tambin cmo la ltima lnea de cdigo es End Function que est
especificando el trmino de la funcin.
Inmediatamente despus de la palabra clave Function se debe especificar el nombre de
la funcin que en este ejemplo es MiSuma seguida de parntesis que de manera opcional
pueden contener una lista de parmetros.
Parmetros de una funcin VBA

Los parmetros son el medio por el cual pasamos informacin de entrada a la funcin.
Algunas funciones necesitarn de dichas entradas para realizar algn clculo y algunas

otras no, es por ello que los parmetros de una funcin son opcionales. Puedes incluir
tantos parmetros como sean necesarios y solamente debes recordar separarlos por una
coma.
Un parmetro no es ms que una variable y por lo tanto puedes observar que en el
ejemplo he definido la variable rango que ser del tipo Range.
Valor de retorno

Como mencion al principio, la caracterstica principal de una funcin es que puede


regresar un valor. Es por eso que al definir una funcin se debe indicar el tipo del valor
de retorno que tendr dicha funcin. En este caso el valor de retorno ser de tipo
Double y se est especificado por las palabras As Double que aparecen despus de los
parntesis.
Cuerpo de la funcin VBA

Una vez definida la funcin se pueden especificar todas las instrucciones que sern
ejecutas. En el ejemplo he comenzado por definir un par de variables, la variable celda
que ser del tipo Range y la variable resultado del tipo Double. En sta ltima variable
es donde se ir acumulando la suma de todas las celdas.
La parte central de la funcin se encuentra en la instruccin For Each ya que realiza un
recorrido por todas las celdas del rango que fue especificado como parmetro. Para cada
celda que se encuentra se va sumando su contenido en la variable resultado.
Retornando el valor

Una vez que se han hecho los clculos necesarios, es importante regresar el valor. Para
hacerlo es indispensable igualar el nombre de la funcin al valor o variable que contiene
el valor que se desea regresar. En nuestro ejemplo, la variable resultado es la que
contiene la suma de todas las celdas por lo que se iguala con el nombre de la funcin en
la lnea MiSuma = resultado.
Probando la funcin VBA

Finalmente probar la funcinVBA recin creada dentro de una hoja de Excel. Tal
como lo definimos en el cdigo, el nico parmetro de la funcin debe ser un rango del
cual me regresar la suma de los valores de la celda. Observa el siguiente ejemplo.

Aunque la funcin MiSuma hace lo mismo que la funcin de Excel SUMAR, nos ha
servido de ejemplo para introducir el tema de las funciones en VBA. Con este ejemplo
tan sencillo hemos creado nuestra primera funcin VBA.

INICIO

FUNCIONES

ACERCA

Nombres de rango dinmicos

Excel nos permite poner nombres a los rangos de celdas de manera que los podamos
identificar adecuadamente al usarlos en nuestras frmulas, pero en esta ocasin te
mostrar cmo hacer que ese nombre se refiera a un grupo de celdas que va en aumento.
Al definir un nombre de rango comenzamos por seleccionar los datos y posteriormente
asignarles un nombre. En la siguiente imagen puedes observar que he asignado el
nombre MiTabla al rango de celdas A1:A3:

Si agrego un nuevo dato por debajo del rango definido no se incluir de manera
automtica:

Sera necesario redefinir el nombre del rango para incluir la nueva celda. Sin embargo,
podemos hacer que un nombre de rango est definido por una frmula y de esa manera
actualizar automticamente los datos que deben ser incluidos.
Rangos dinmicos con DESREF

Para lograr este objetivo utilizaremos la funcin DESREF que nos permite crear una
referencia a un rango. Esta es la sintaxis de la funcin:
DESREF(ref, filas, columnas, [alto], [ancho])

La sintaxis de la funcin DESREF nos indica que el primer argumento debe ser la celda
inicial sobre la cual se basar la referencia. En base a los datos del ejemplo anterior,
colocar como primer argumento la celda A1 que es la primera celda con datos. El
segundo y tercer argumento de la funcin nos permiten especificar cuantas filas y
columnas nos moveremos de la celda inicial. En nuestro ejemplo no queremos
movernos de esa celda, as que estos parmetros sern siempre cero.
El cuarto y quinto argumento son el alto y ancho de la referencia que queremos crear y
aqu es donde viene la parte interesante porque queremos decir a Excel que deseamos
todas las celdas que tienen un contenido. Para lograr nuestro cometido debemos utilizar
la funcin CONTARA, la cual nos ayuda a contar las celdas que no estn vacas. Para
contar las filas que no estn vacas utilizo la siguiente funcin:
=CONTARA($A:$A)

Y para contar las columnas que no estn vacas:


=CONTARA($1:$1)

Con los parmetros ya definidos podemos decir que utilizaremos la funcin DESREF de
la siguiente manera suponiendo que los datos se encuentran en la Hoja1:
=DESREF(Hoja1!$A$1, 0, 0, CONTARA(Hoja1!$A:$A), CONTARA(Hoja1!$1:$1))

Esta frmula siempre nos devolver el rango que incluye las celdas que tienen un valor
y que son adyacentes a la celda A1.

Editar el nombre de rango

Ahora solo resta modificar la definicin del nombre de rango MiTabla para que utilice
esta frmula. Para ello debo ir a la ficha Frmulas y oprimir el botn Administrador de
nombres, se mostrar el nombre de rango previamente definido y en el cuadro de texto
de la parte inferior se deber reemplazar su definicin por la frmula anterior:

Con esta nueva definicin del rango MiTabla no importarn las filas que agreguemos ya
que siempre sern consideradas en el rango. En el siguiente ejemplo, puedes observar
cmo voy agregando nuevos valores en la columna A y son considerados
automticamente en la suma de la celda D5:

Fijar la fecha y hora en Excel

En ocasiones necesitamos insertar la fecha y hora actuales en una celda de nuestra


hoja y que dicho valor permanezca fijo despus de haberlo insertado. Muchos intentarn
hacerlo con las funciones de Excel, pero pronto se darn cuenta que no es posible.
Insertar fecha y hora con funciones

Al utilizar funciones de Excel para insertar la fecha y la hora, el valor mostrado en la


celda ser actualizado automticamente al momento de recalcular las frmulas y por lo
tanto los valores de la fecha y hora jams sern fijos.
Puedes comprobar este comportamiento utilizando la funcin AHORA, que nos
devuelve tanto la fecha como la hora actual. Es probable que al ingresar la funcin se
muestre solamente la fecha, pero podemos cambiar el formato personalizado de la celda
por dd/mm/aaaa hh:mm para mostrar tambin la hora:

Deja pasar algunos segundos hasta que el reloj de tu equipo haya avanzado al menos un
minuto, pulsa la tecla F9 y vers que el valor de la hora se actualizar a la misma hora
del computador. Por esta razn, no podemos fijar la fecha y hora en Excel utilizando
funciones.
Fijar fecha y hora con un atajo de teclado

La nica alternativa que tenemos en Excel para evitar que la fecha y hora se actualicen
constantemente es introducir sus valores directamente en una celda. Pero ya que esta
accin requerira de un ingreso manual, podemos utilizar los siguientes atajos de teclado
para facilitar las cosas:

Insertar la fecha actual: Ctrl + , (coma)

Insertar la hora actual: Ctrl + : (dos puntos)

Estos atajos de teclado son vlidos para una versin de Excel en castellano. Si tienes
una versin en ingls, entonces debers utilizar el atajo Ctrl + ; (punto y coma) para
insertar la fecha actual y el atajo Ctrl + Shift + ; (punto y coma) para la hora.
Macro para insertar fecha y hora actuales

Tambin tenemos la opcin de crear una macro para insertar los valores de la fecha y
hora actuales en una celda. Eso lo podemos lograr gracias a la funcin Now en VBA y
para mostrarlo comenzar insertando un botn de comando ActiveX en la hoja actual y
despus har doble clic sobre el botn para insertar el siguiente cdigo:
1 Private Sub CommandButton1_Click()
2

Range("B1").Value = Now

3 End Sub

Esta macro asigna el valor de la funcin Now a la celda B1 de la hoja actual. Al pulsar
el botn obtendr el siguiente resultado:

Con este mtodo he insertado tanto la fecha como la hora actual en la misma celda. Si
quisiera insertar solamente la fecha entonces debera utilizar la funcin Date en lugar

de la funcin Now y si quisiera insertar solamente la hora debera utilizar la funcin


Time.
Si al utilizar este mtodo la celda muestra el error ###### ser porque la columna est
demasiado angosta como para mostrar la fecha y hora, pero se resolver fcilmente con
tan solo aumentar el ancho de la columna. Descarga el libro de trabajo y comprueba el
uso de estas tres funciones VBA que sern tiles para fijar la fecha y hora en Excel.
Cmo resaltar la fila de la celda activa en Excel

Cuando tienes una tabla en Excel con muchas columnas es fcil perder de vista la fila a
la que pertenecen los datos. Hoy aprenderemos cmo resaltar la fila de la celda activa
de manera que podamos distinguir fcilmente todos los valores de una fila.
Nuestro objetivo ser crear un apoyo visual para identificar fcilmente los datos que
pertenecen a la misma fila de la celda activa. Al momento de seleccionar una nueva
celda, la fila anterior quedar sin resaltar y la nueva fila ser resaltada. Observa la
siguiente animacin donde queda claro nuestro objetivo:

El cdigo VBA que desarrollaremos har que todas las hojas de nuestro libro tengan
este comportamiento sin necesidad de copiarlo en cada una de ellas. As que sin mayor
prembulo, comencemos con el desarrollo de esta funcionalidad.
Crear una variable VBA global

El primer paso ser crear una variable global en VBA donde almacenaremos el valor de
la celda activa actual y el de la celda activa anterior. Esto es necesario ya que al
movernos a una nueva fila debemos quitar cualquier formato de la fila previamente
resaltada y por lo tanto necesito almacenar una referencia a dicha fila. Para crear esta
variable debes abrir el Editor de Visual Basic y agregar un mdulo de cdigo haciendo
clic derecho sobre el nombre del proyecto > Insertar > Mdulo:

Una vez creado este mdulo debemos colocar la siguiente lnea de cdigo:
1 Public celdaActiva(1) As Range

El hecho de que la variable sea Public nos permite tener acceso a ella desde cualquier
otro mdulo de cdigo. Esta variable es un arreglo en VBA que no es ms que una
coleccin de casillas donde podemos almacenar valores. En este caso la variable
celdaActiva tiene dos casillas del tipo Range las cuales podemos acceder con los ndices
0 y 1.

Inicializar la variable celdaActiva

En este punto la variable celdaActiva creada en el paso anterior an est vaca, as que
haremos uso del evento Workbook_Open para indicarle cul es la celda activa al
momento de abrir nuestro libro de Excel. Inserta el siguiente cdigo dentro del evento
Workbook_Open del objeto ThisWorkbook:
1Private Sub Workbook_Open()

2
3

Set celdaActiva(1) = ActiveCell


ActiveCell.EntireRow.Interior.Color = RGB(255, 145, 145)

End Sub

Al abrir nuestro libro se ejecutar el cdigo del evento WorkbookOpen y por lo tanto el
elemento 1 del arreglo celdaActiva tendr una referencia a la celda activa de nuestro
libro. La segunda instruccin que se ejecuta cambiar el valor de la propiedad
ActiveCell.EntireRow.Interior.Color para establecer un color de fondo para toda la fila
de la celda activa. En este caso utilizo la funcin RGB para elegir un color de fondo con
una combinacin especfica de colores rojo, verde y azul. Si quieres saber un poco ms
sobre los colores en Excel y la funcin RGB, consulta el artculo Evaluar el color de
fondo de una celda.
Adems de inicializar la variable celdaActiva al momento de abrir nuestro libro de
Excel, lo haremos tambin al momento de activar una nueva hoja lo que significa que
debemos hacer uso del evento Workbook_SheetActivate que tambin se encuentra dentro
del objeto ThisWorkbook. Despus de haber insertado el mismo cdigo para ambos
eventos, debers tener una vista en el Editor de Visual Basic como la siguiente:

Resaltar la fila de la celda activa

Ahora solo nos resta resaltar la fila de la celda activa en el momento en que
seleccionamos una nueva celda. Ese instante est representado en Excel por el evento
Workbook_SheetSelectionChange donde colocaremos el siguiente cdigo:
1Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target As Range)

2
3
4
5

Set celdaActiva(0) = celdaActiva(1)


Set celdaActiva(1) = Target
celdaActiva(0).EntireRow.Interior.Color = xlNone

Target.EntireRow.Interior.Color = RGB(255, 145, 145)

End Sub

Ya que este evento se dispara en el momento en que seleccionamos una nueva celda,
la primera instruccin almacena el valor de la celda activa anterior dentro de
celdaActiva(0) e inmediatamente despus guardamos la referencia a la nueva celda
activa dentro de celdaActiva(1) y que en ese instante est referenciada por la variable
Target. Las ltimas dos instrucciones cambian el color de fondo de las filas. Primero
igualamos el color de celda activa anterior a xlNone que significa que removeremos
cualquier color de fondo y enseguida establecemos un color de fondo con la funcin
RGB para la fila de la nueva celda activa. Al finalizar todos estos pasos tendremos un
cdigo como el siguiente:

Eso ser todo. Al haber seguido estos pasos tendrs un libro de Excel que resaltar la
fila de la celda activa en todas las hojas.
Observaciones sobre el mtodo utilizado

El mtodo utilizado para resaltar la fila de la celda activa en Excel mostrado en este
artculo modifica el valor de la propiedad Interior.Color de cada una de las celdas de la
fila. Por esta razn, si tus celdas tienen aplicado algn color, ste ser removido al
momento de seleccionar una celda de la misma fila.
Es importante recordar que los colores que sern removidos sern los aplicados en el
relleno de las celdas a travs de las herramientas de formato. Los colores aplicados por
formato condicional quedarn intactos ya que dichos colores se almacenan en una
propiedad diferente. De hecho, si tus datos tienen reglas de formato condicional, dichos
colores estarn sobre puestos al color aplicado por el cdigo de este ejemplo.
Resaltar fila y columna de la celda activa

Una variante interesante del ejemplo mostrado anteriormente es agregar algunas lneas
de cdigo para resaltar la columna de la celda activa y de esa manera ubicarla tanto
horizontal como verticalmente. El cdigo a utilizar ser el siguiente:
1 Private Sub Workbook_Open()
2

Set celdaActiva(1) = ActiveCell

ActiveCell.EntireRow.Interior.Color = RGB(255, 145, 145)

ActiveCell.EntireColumn.Interior.Color = RGB(255, 145, 145)

End Sub

6
7
8
9

Private Sub Workbook_SheetActivate(ByVal Sh As Object)


Set celdaActiva(1) = ActiveCell
ActiveCell.EntireRow.Interior.Color = RGB(255, 145, 145)
ActiveCell.EntireColumn.Interior.Color = RGB(255, 145, 145)

1
0 End Sub
1
1 Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
1
2
1
3
1
4
1
5

Target As Range)
Set celdaActiva(0) = celdaActiva(1)
Set celdaActiva(1) = Target
celdaActiva(0).EntireRow.Interior.Color = xlNone
celdaActiva(0).EntireColumn.Interior.Color = xlNone
Target.EntireRow.Interior.Color = RGB(255, 145, 145)
Target.EntireColumn.Interior.Color = RGB(255, 145, 145)

1 End Sub
6
1
7
1
8
1
9

2
0

Observa que lo nico que he hecho es agregar las lneas de cdigo que hacen referencia
a la propiedad EntireColumn.Interior.Color que resaltan la columna de la celda activa.
Por supuesto que esta versin de cdigo tambin necesitar de una variable global
declarada en un Mdulo de manera similar que en el primer ejemplo. El resultado de
utilizar este cdigo es el siguiente:

Cmo restar en Excel

Cuando comenzamos a utilizar las hojas de clculo es normal preguntarnos cmo


realizar las operaciones aritmticas ms elementales como sumar y multiplicar, pero
estoy seguro que cuando eras principiante en Excel te preguntaste en ms de una
ocasin cmo restar en Excel.
La funcin RESTA en Excel?

Una de las primeras funciones que aprendemos a utilizar en Excel es la funcin SUMA,
as que es prcticamente inevitable razonar que: Si existe una funcin para sumar,
seguramente debe existir una funcin para restar. Sin embargo, despus de hacer una
bsqueda exhaustiva, todo usuario que comienza en Excel se entera de que la funcin
RESTA no existe.
A muchos les parece extrao que no exista una funcin para restar en Excel, pero todo
comienza a hacer ms sentido cuando nos damos cuenta de que podemos restar nmeros
utilizando la funcin SUMA. Lo nico que debemos hacer es utilizar valores negativos
y dejar que la funcin se encargue de realizar la operacin aritmtica. Considera como
ejemplo la siguiente frmula:
=SUMA(10, -3)

En esta frmula he colocado el valor -3 como segundo argumento de la funcin SUMA


y por lo tanto al realizar el clculo obtendr el resultado de la operacin diez menos tres:

Ya que la funcin SUMA nos permite indicar valores numricos o referencias, entonces
tambin es posible restar el valor de varias celdas de la siguiente manera:

Observa que he especificado valores negativos en las celdas B1 y C1 y por lo tanto la


funcin SUMA en realidad estar haciendo una resta de dichos nmeros. De esta
manera podemos concluir que al no existir la funcin RESTA en Excel, podemos
utilizar la funcin SUMA siempre y cuando indiquemos los valores negativos.
El operador aritmtico para la resta

Una segunda alternativa que tenemos para restar en Excel es utilizar directamente el
operador aritmtico para la resta que es el guion medio (-). Este operador lo podemos
utilizar ya sea con valores numricos o con referencias de celdas. Observa cmo resto el
valor de las celdas B1 y C1 al valor de la celda A1 utilizando este operador:

A diferencia del ejemplo anterior que utilizaba la funcin SUMA, en esta ocasin los
valores de todas las celdas son positivos y el operador se encarga de hacer las restas
correspondientes. Son los operadores los que nos permiten utilizar Excel como si fuera
una calculadora, por ejemplo, podemos escribir frmulas como la siguiente para
mezclar operaciones de suma y resta:
=A1+B1-C1-D1

Tambin es posible mezclar el operador de resta con la funcin SUMA para restar un
conjunto de nmeros a otro. En la siguiente imagen hago la suma de todos los costos de
una empresa y el resultado lo resto a los ingresos para obtener la utilidad bruta.

Si quieres saber un poco ms sobre los operadores aritmticos en Excel consulta el


artculo: Tipos de operadores en Excel.
Restar con la funcin IM.SUSTR

La funcin IM.SUSTR est presente desde la versin de Excel 2007 y es utilizada para
restar dos nmeros complejos, pero la verdad es que son muy pocas las personas que
hacen operaciones con este tipo de nmeros.
Lo nico que debemos saber es que un nmero complejo est formado por un nmero
real y un nmero imaginario. Los nmeros que hemos utilizado hasta ahora en este
artculo son reales, as que esta funcin puede ayudarnos perfectamente a restar en
Excel, pero debemos recordar que solo nos permitir restar dos nmeros a la vez.
Observa la siguiente imagen donde hago uso de esta funcin:

La celda C1 muestra correctamente el resultado de la operacin 10 menos 3. La nica


peculiaridad del resultado es que el nmero 7 est alineado a la izquierda, lo cual nos
indica que Excel lo ha identificado como una cadena de texto. Esto se debe a que los
nmeros complejos son representados en Excel como cadenas de texto, as que debes
tener eso en cuenta si alguna vez decides utilizar la funcin IM.SUSTR para hacer una
resta en Excel.
Filtros en Excel

Los filtros en Excel nos permiten buscar un subconjunto de datos que cumpla con
ciertos criterios. Generalmente todo comienza cuando tenemos un rango de celdas con
informacin y queremos ver solamente aquellas filas que cumplen con ciertas
condiciones.

Por ejemplo, en la siguiente imagen se pueden ver los datos de ventas de una
empresa. Cmo puedo tener una vista con todas las filas que pertenecen a Hugo? Eso
sera una tarea muy difcil de lograr si no tuviramos la facilidad de crear filtros en
Excel.

Cmo crear filtros en Excel

Para crear un filtro podemos utilizar el comando Filtro que se encuentra en la ficha
Datos dentro del grupo Ordenar y filtrar.

Al pulsar el botn Filtro se colocarn flechas en el extremo derecho de cada uno de los
encabezados de columna de nuestros datos indicando que podemos hacer uso de los
filtros. El comando Filtro tambin podrs seleccionar desde Inicio > Modificar >
Ordenar y filtrar > Filtro.
Otra manera de crear un filtro es transformar nuestros datos en una tabla de Excel, lo
cual insertar los filtros adems de aplicar un formato especial a los datos.
Cmo usar los filtros en Excel

Para filtrar la informacin debemos elegir una columna y hacer clic en la flecha de filtro
correspondiente para mostrar las opciones de filtrado. Todos los filtros, en la parte
inferior, mostrarn una lista de valores nicos con una caja de seleccin a la izquierda
de cada uno.

Una opcin que tenemos para filtrar los datos es elegir de manera individual aquellos
valores que deseamos visualizar en pantalla. Tambin podemos utilizar la opcin
(Seleccionar todo) para marcar o desmarcar todos los elementos de la lista. En la
imagen anterior he elegido el nombre Hugo de manera que el filtro mostrar solamente
las filas con dicho nombre.

Al pulsar el botn Aceptar se ocultarn las filas que no cumplen con el criterio de
filtrado establecido. Observa que la flecha de filtro de la columna Vendedor ha
cambiado para indicarnos que hemos aplicado un filtro. Adems, los nmeros de fila de
Excel se muestran en un color diferente indicndonos que existen filas ocultas.
Filtrar por varias columnas

Si queremos segmentar an ms los datos mostrados en pantalla podemos filtrar por


varias columnas. En el ejemplo anterior filtr las filas pertenecientes a Hugo, pero si
adems necesito saber las que pertenecen a la regin Norte y Sur, entonces debo
seleccionar dichas opciones dentro del filtro de la columna Regin:

Al aceptar estos cambios se mostrarn solamente las filas que cumplen ambos criterios.
Observa que ambas columnas habrn cambiado sus iconos para indicarnos que se ha
aplicado un filtro en cada una de ellas.

Esto demuestra que es posible crear tantos filtros como columnas tengamos en nuestros
datos y entre ms criterios de filtrado apliquemos mucha mayor ser la segmentacin de
datos que obtendremos.
Cmo quitar un filtro en Excel

Para quitar un filtro aplicado a una columna debemos hacer clic en la flecha del filtro y
seleccionar la opcin Borrar filtro de Columna donde Columna es el nombre de la
columna que hemos elegido. Esta accin eliminar el filtro de una sola columna, pero si
tenemos filtros aplicados a varias columnas y deseamos eliminarlos todos con una sola

accin, entonces debemos pulsar el comando Borrar que se encuentra en la ficha Datos
> Ordenar y filtrar.

Filtrar en Excel buscando valores

Ya hemos visto que todos los filtros muestran una lista de valores nicos de la cual
podemos seleccionar uno o varios de ellos y justo por arriba de dicha lista de valores se
muestra un cuadro de texto que nos permite hacer una bsqueda. Por ejemplo, en la
siguiente imagen he colocado la palabra este en el cuadro de bsqueda y como
resultado se ha modificado la lista de valores mostrando solo aquellos donde se ha
encontrado dicha palabra:

Cuando tenemos una lista muy grande de valores nicos y no podemos identificar
fcilmente aquellos que deseamos seleccionar, podemos utilizar el cuadro de bsqueda
para encontrar los valores que necesitamos. Tambin es posible utilizar caracteres

comodines como el asterisco (*) o el smbolo de interrogacin (?) tal como si


hiciramos una bsqueda aproximada en Excel de manera que podamos ampliar los
resultados de bsqueda.
Filtros de texto en Excel

Adems de las opciones ya mencionadas para filtrar en Excel, cuando en una columna
se detecta el tipo de dato texto, se mostrar una opcin de men llamada Filtros de texto
como la siguiente:

Al elegir cualquiera de estas opciones se mostrar un cuadro de dilogo que nos


permitir configurar cada uno de los criterios disponibles. Por ejemplo, al elegir la
opcin Comienza por se mostrar el siguiente cuadro de dilogo:

Si colocamos la letra a en el cuadro de texto junto a la opcin comienza por,


entonces Excel mostrar solamente los elementos de la columna Vendedor que
comiencen por la letra a.
Filtros de nmero en Excel

De manera similar, si Excel detecta que una columna contiene valores numricos, nos
permitir utilizar filtros especficos para dicho tipo de dato tal como lo puedes observar
en la siguiente imagen:

A diferencia de los Filtros de texto, Excel nos permitir utilizar los Filtros de nmero
para mostrar valores que sean mayores o iguales que otro o simplemente aquellos que
son superiores al promedio.
Filtros de fecha en Excel

Las fechas son el tipo de dato que ms opciones de filtrado nos proporcionan, tal como
lo muestra la siguiente imagen:

Excel nos permitir filtrar las fechas por das especficos como hoy, maana o ayer e
inclusive por perodos de tiempo ms largos como semanas, meses, trimestres o aos
con tan solo seleccionar la opcin adecuada.
Filtrar por color en Excel

No podamos pasar por alto y dejar de hablar de la opcin de Filtrar por color que nos
ofrece Excel. Para que esta opcin se habilite es necesario que las celdas tengan
aplicado un color de relleno ya sea por una regla de formato condicional o modificando
directamente el color de relleno con las herramientas de formato. En nuestro ejemplo he

aplicado una regla de formato condicional para aquellas celdas que tengan un valor
superior a $850 en la columna Total.

Una vez que las celdas tienen un color de relleno, al hacer clic en el filtro de la columna
Total se mostrar habilitada la opcin Filtrar por color y dentro de ella podr elegir
alguno de los colores presentes en la columna.

Sumar y contar celdas por color de formato condicional

Hace algunos meses publique el artculo Operaciones con colores en Excel y de


inmediato recib preguntas sobre la posibilidad de utilizar dichas funciones para evaluar
los colores aplicados a una celda a travs del formato condicional.
Las funciones creadas en ese artculo evalan la propiedad Interior.Color que tiene cada
una de las celdas en Excel, sin embargo, el formato condicional no utiliza dicha
propiedad sino que tiene su propia versin para almacenar el color de fondo de una
celda. Por esa razn no es posible utilizar dichas funciones para evaluar colores
establecidos a travs de una regla de formato condicional.
As que hoy crearemos una nueva funcin VBA (UDF) para sumar y contar celdas por
color de formato condicional. Pero antes de iniciar con el cdigo hablaremos un poco
sobre los objetos y propiedades que debemos evaluar para obtener el color de fondo
proveniente de un regla de formato condicional.
La coleccin FormatConditions

Primero debemos recordar que un mismo rango de celdas en Excel puede estar sujeto a
varias reglas de formato condicional al mismo tiempo, as que para guardar esa lista de
formatos condicionales se cre la coleccin FormatConditions en VBA la cual enumera
todas las reglas de formato condicional aplicadas en un rango.

Para comprender el funcionamiento de esta coleccin haremos un ejemplo. Considera la


siguiente lista de nmeros en el rango A1:A10 donde he aplicado una regla de formato
condicional que resalta en color rojo los valores mayores a 750.

Ahora insertar un botn de comando ActiveX en la misma hoja y colocar el siguiente


cdigo VBA en su evento Click:
1 Private Sub CommandButton1_Click()
2

MsgBox Range("A1:A10").FormatConditions.Count

3 End Sub

La nica lnea de cdigo ejecutada se encargar de mostrar el valor de la propiedad


Count de la coleccin FormatConditions la cual contiene el recuento de las reglas de
formato condicional para el rango indicado. Al hacer clic sobre el botn de comando se
mostrar el siguiente mensaje:

El mensaje nos indica que el rango A1:A10 tiene una sola regla de formato condicional.
Ahora crear una segunda regla para el mismo rango que resaltar de color verde todas
las celdas con un valor menor a 250. Una vez creada la regla de formato condicional,
volver a pulsar el botn de comando y el nmero mostrado en el mensaje habr
aumentado debido a la nueva regla creada:

Es as como la coleccin FormatConditions nos permite obtener informacin sobre las


reglas de formato condicional aplicadas a un rango de celdas. Ahora centraremos
nuestra atencin a una propiedad especfica de dicha coleccin.
La propiedad FormatCondition.Interior.Color

Cada regla de formato condicional almacena el estilo que aplicar a las celdas que
cumplan con las condiciones establecidas y especficamente el color de relleno se
almacena en la propiedad Interior.Color. Para demostrar el valor de esta propiedad
agregar un nuevo botn de comando con el siguiente cdigo:
1Private Sub CommandButton2_Click()
2

For i = 1 To Range("A1:A10").FormatConditions.Count
MsgBox "Regla " & i & vbLf & _

"Color: " &

4Range("A1:A10").FormatConditions(i).Interior.Color
5

Next i

6End Sub

El cdigo anterior recorre todos los elementos de la coleccin FormatConditions y para


cada elemento mostrar un mensaje con el nmero de regla y su color de relleno que
est almacenado en la propiedad Interior.Color. Al pulsar el botn obtengo el siguiente
resultado:

El color devuelto ser un valor entre 0 y 16777215 que corresponde a una de las
combinaciones de colores primarios (rojo, verde y azul) que se pueden formar en Excel.
Si quieres saber un poco ms sobre los colores en Excel consulta el artculo Evaluar el
color de fondo de una celda.
Los colores mostrados con el cdigo anterior son los colores pertenecientes a cada una
de las reglas de formato condicional y no el color de una celda especfica. Para conocer
el color de formato condicional aplicado a una celda ser necesario encontrar la regla
que se cumple sobre dicha celda para entonces obtener el color correspondiente.
Macro para obtener el color de una celda

El desafo ms grande al crear una macro para obtener el color de una celda es descubrir
la regla de formato condicional que est activa. Para eso utilizamos un bucle For Next
que recorrer toda la coleccin de formatos haciendo una evaluacin de cada regla para
descubrir si est activa.
1 Function COLORFC(Celda As Range) As Long
2
3 'Indicar si la relga de formato condicional est activa
4 Dim ReglaActiva As Boolean
5
6

'Recorrer todas las reglas de formato condicional para la celda


indicada

7 For i = 1 To Celda.FormatConditions.Count
8
9

'Evaluar la regla FormatConditions(i)

1
0

With Celda.FormatConditions(i)

1
1
1
2
1
3

'Si la regla est basada en el valor de la celda


If .Type = xlCellValue Then

'Identificar el operador de la regla y evaluar si est activa


Select Case .Operator

1
Case xlBetween:
4 Evaluate(.Formula1) _
1
5

ReglaActiva = Celda.Value >=


And Celda.Value <= Evaluate(.Formula2)

Case xlNotBetween:

1 Evaluate(.Formula1) _
6
1
Case xlEqual:
7 Celda.Value

ReglaActiva = Celda.Value <=


Or Celda.Value >= Evaluate(.Formula2)
ReglaActiva = Evaluate(.Formula1) =

1
Case xlNotEqual:
8 Celda.Value

ReglaActiva = Evaluate(.Formula1) <>

Case xlGreater:
1
9 Evaluate(.Formula1)

ReglaActiva = Celda.Value >

Case xlLess:
2
Evaluate(.Formula1)
0

ReglaActiva = Celda.Value <

Case xlGreaterEqual: ReglaActiva = Celda.Value >=

2 Evaluate(.Formula1)
1

Case xlLessEqual:
2 Evaluate(.Formula1)

ReglaActiva = Celda.Value <=

End Select

2
3
2
4
2
5

'Si la regla es una expresin (Frmula)


ElseIf .Type = xlExpression Then

Application.ScreenUpdating = False

2
6

Celda.Select

2
7

ReglaActiva = Evaluate(.Formula1)
Range(ActiveCell.Address).Select

2
8
2
9

Application.ScreenUpdating = True

End If

3
0
3
1

'Devolver el color si la regla est activa


If ReglaActiva Then
COLORFC = .Interior.Color

3
2
3
3
3
4

Exit Function
End If

End With

3 Next i
5
3 End Function
6
3
7
3
8
3
9
4
0
4
1
4
2
4

3
4
4
4
5
4
6
4
7
4
8
4
9

Las primeras lneas de cdigo se encargan de recorrer todas las reglas de formato
condicional para la celda proporcionada. La primera validacin importante es sobre la
propiedad Type que nos permite saber el tipo de regla que estamos analizando, ya sea
del tipo xlCellValue o del tipo xlExpression. Es importante mencionar que existen ms
tipos de reglas de formato condicional, de hecho la enumeracin
XlFormatConditionType contiene 14 tipos diferentes, pero solamente los dos tipos
mencionados anteriormente tienen una manera de ser evaluados desde VBA. Por esta
razn la funcin COLORFC considera en primer lugar las reglas de formato condicional
que evalan directamente el valor de una celda.

El cuadro de dilogo anterior muestra precisamente la lista de reglas de formato


condicional que son del tipo xlCellValue y que por lo tanto sern reconocidas por
nuestra funcin. Ahora hagamos una prueba con los datos de ejemplo para ver cmo la
funcin COLORFC devuelve el color aplicado a cada celda de acuerdo a la regla de
formato condicional activa. Recuerda que las reglas creadas resaltan de rojo las celdas
con un valor superior a 750 y de color verde los valores menores a 250.

Nuestra funcin VBA funciona correctamente al devolver el cdigo de color adecuado


para cada celda. El otro tipo de reglas consideradas en la funcin COLORFC son
aquellas basadas en una expresin, que generalmente son las reglas basadas en una
frmula que contiene funciones de Excel. Pero debo darte una mala noticia, esta opcin
solo funcionar si tenemos Excel en ingls. Y a continuacin explico por qu.

Al momento de crear una regla de formato condicional que utilice una funcin de Excel,
colocaremos su nombre en castellano. Dicha frmula se almacenar en una propiedad
de la regla de formato condicional y al momento de evaluarla desde VBA la cadena de
texto contendr el nombre de la funcin en espaol lo cual ocasionar un error ya que
VBA solamente entiende las funciones de Excel por su nombre en ingls. An as he
dejado esta funcionalidad porque existe un porcentaje de usuarios que utilizan Excel en
ingls y ellos podrn obtener el color de las celdas que utilicen reglas de formato
condicional basadas en frmulas.
Despus de todas estas aclaraciones (que eran necesarias), tenemos una funcin que nos
devolver el color aplicado a una celda desde una regla de formato condicional, as que
ahora solo debemos utilizarla para sumar o contar celdas por color.
Sumar por color de formato condicional

Para sumar por color de formato condicional crear una nueva funcin VBA de la
siguiente manera:
1 Function SUMARPORCOLORFC(CeldaColor As Range, Rango As Range) As
Double

2
3
4
5

Dim Celda As Range


Dim Total As Double

6
7
8 Dim Color As Long
9
1 Color = COLORFC(CeldaColor)
0
1
For Each Celda In Rango.Cells
1
1
2
1
3

If COLORFC(Celda) = Color Then


Total = Total + Celda.Value
End If
Next Celda

1
4
1
5

SUMARPORCOLORFC = Total

1 End Function
6
1
7

El primer argumento de la funcin es una celda que contiene el color por el cual
deseamos sumar, as que una de las primeras acciones es obtener dicho color con la
funcin COLORFC. Posteriormente se har un recorrido por todo el rango de celdas
para sumar el valor de aquellas que tengan el mismo color. Observa cmo trabaja
nuestra funcin con los datos de ejemplo:

La funcin devuelve correctamente la suma de las celdas A1 y A9 que son las que tienen
el mismo color que la celda A1 que ha sido indicada como el primer argumento de la
funcin.
Contar por color de formato condicional

Si en lugar de sumar deseamos contar las celdas que tienen un mismo color, ser
suficiente con modificar la funcin anterior para que en lugar sumar el valor de la celda
se sume el valor 1 por cada celda con el color indicado. El cdigo de esta nueva funcin
es el siguiente:
1 Function CONTARPORCOLORFC(CeldaColor As Range, Rango As Range) As
Integer

2
3
4
5

Dim Celda As Range


Dim Total As Integer
Dim Color As Long

6
7 Color = COLORFC(CeldaColor)
8
9 For Each Celda In Rango.Cells
1
0

If COLORFC(Celda) = Color Then

1
1

End If

Total = Total + 1

Next Celda

2
1
3
1
4

CONTARPORCOLORFC = Total

1
5
1
6

End Function

1
7

Al utilizar esta funcin con los mismos datos de ejemplo podrs observar que la funcin
CONTARPORCOLORFC nos devuelve el valor 2 que corresponde a las celdas con el
mismo color que la celda A3:

Descarga el libro de trabajo para comenzar a sumar y contar celdas por color de
formato condicional en tus propios libros de trabajo. Solo recuerda que las funciones
creadas en este artculo validarn solo las reglas de formato condicional basadas en el
valor de la celda. Tambin recuerda que podrs evaluar reglas basadas en frmulas
solamente si tienes una versin en ingls de Excel.
Cmo multiplicar horas por dinero en Excel

Tal vez te ha sucedido que llega el momento del pago a los empleados de la empresa y
tienes lista la informacin en Excel con las horas trabajadas durante la semana. Ya has
calculado el total de horas a pagar y solo hace falta la multiplicacin por la tarifa
establecida, sin embargo solo obtienes montos incorrectos.

Cmo se hace la multiplicacin de horas por dinero en Excel? Todo indicara que es
un clculo muy sencillo pero por ms que lo intentas solo consigues datos errneos. En
la siguiente imagen podrs darte cuenta a lo que me refiero.

La celda C9 tiene la frmula =C7*C8 que es la multiplicacin del total de horas


trabajadas por la tarifa indicada. El resultado debera ser $4,050 pero en su lugar
tenemos solo $168.75 que es un monto incorrecto.
Si analizamos las celdas involucradas en el clculo nos damos cuenta que la tarifa por
hora es simplemente el valor numrico 100. Por otro lado la celda C7 hace la suma del
rango C2:C6 y la nica peculiaridad es que tiene aplicado un formato personalizado
para desplegar correctamente la suma de horas y minutos:

Cul de los dos valores es el culpable del error? Definitivamente no es el valor


numrico de la tarifa por hora, as que el problema debe ser ocasionado por la suma de
horas.
Las horas en Excel son decimales

El problema con la multiplicacin de tiempo por dinero es que las horas en Excel no
son en realidad lo que parece. Para darnos cuenta del valor real de la celda C7 basta con
aplicar el formato General a dicha celda:

Las 40 horas y 30 minutos que inicialmente desplegaba la celda C7, son en realidad el
valor numrico 1.6875 y es la razn por la cual el monto a pagar calculado en la celda
C9 nos devuelve como resultado el monto $168.75.
Al trabajar con datos de tiempo en Excel vemos desplegadas las horas y minutos tal
como los conocemos, pero su valor real es un nmero decimal entre 0.0, para las
00:00:00 horas, y hasta 0.99999999 que representa las 23:59:59 horas. Eso quiere decir
que el valor entero 1 significa un da completo de 24 horas y por tal motivo el valor de
la celda C7 significa que tenemos 1 da entero y 0.6875 de otro da.
Multiplicar horas por dinero en Excel

Para resolver este problema del valor decimal de las horas ser suficiente con agregar la
multiplicacin por 24 de manera que se haga la conversin del valor decimal a la
cantidad correcta de horas. Observa cmo al incluir esta multiplicacin en la frmula de
la celda C9 obtenemos el resultado correcto:

Ahora ya sabes cmo multiplicar horas por dinero en Excel de manera que puedas
calcular y pagar correctamente a cada empleado por las horas trabajadas en la empresa.
Insertar smbolos y caracteres especiales

Excel nos permite insertar smbolos dentro de las celdas de una manera fcil y rpida a
travs del cuadro de dilogo Smbolos. Algunos de los caracteres que podremos insertar
sern los smbolos de monedas, letras del alfabeto griego o caracteres especiales como
el smbolo de derechos reservados.
Para insertar un smbolo en Excel debes ir a la ficha Insertar y pulsar el botn Smbolo
que se encuentra dentro del grupo Smbolos.

Se mostrar el cuadro de dilogo Smbolo el cual contiene las pestaas Smbolos y


Caracteres especiales.

En la pestaa Smbolos puedes cambiar el tipo de fuente seleccionada para que se


muestren smbolos diferentes. Te recomiendo seleccionar las fuentes Symbol, Webdings
y Wingdings donde encontrars una gran cantidad de smbolos que pueden ser de
utilidad y que generalmente no estn presentes en el resto de las fuentes. Una vez que
hayas encontrado el smbolo que deseas insertar solamente debes seleccionarlo y pulsar
el botn Insertar y el smbolo se insertar en la celda activa.

Por otro lado, en la pestaa Caracteres especiales encontrars una lista de algunos
caracteres especiales que son usados frecuentemente como el smbolo de Copyright o de
Marca registrada. De igual manera debers seleccionar el carcter que necesitas y
pulsar el botn Insertar para incluirlo en la celda activa. Una vez que hayas terminado
de insertar los smbolos necesarios debes pulsar el botn Cerrar y estars de regreso en
la hoja de Excel.
Referencias 3D

Una referencia nos ayuda a identificar una celda o rango de celdas y de esta manera
podemos indicar a Excel el lugar exacto donde buscar los valores o los datos que
deseamos utilizar. Hoy hablar de manera especial de las referencias 3D en Excel.
Referencias de celdas tradicionales

Para comprender mejor el beneficio de las referencias 3D, hagamos un ejemplo


utilizando referencias de celdas de la manera tradicional. Supongamos que tengo un
libro de Excel con 12 hojas, una para cada mes del ao y dentro de cada hoja, en la
celda B2, tengo el dato del total de ventas del mes.

Ahora deseo crear una nueva hoja que tendr la suma de las celdas B2 de todas las
hojas. Para obtener esta suma podra sumar cada una de las celdas B2 de todas las hojas
de la siguiente manera:

Con esta frmula obtendr la suma adecuada, sin embargo me tardar algunos segundos
en construir la formula y probablemente cometer algn error al introducirla. Para evitar
cualquier problema, podemos hacer esta misma suma de una manera mucho ms rpida
utilizando una referencia 3D.
Crear una referencia 3D en Excel

Cuando deseamos utilizar la misma celda de varias hojas podemos crear una referencia
3D. Para nuestro ejemplo la referencia 3D para las celdas B2 de todas las hojas de los
meses la formamos de la siguiente manera:
ENE:DIC!B2

La referencia 3D indica a Excel que debe considerar todas las hojas de Excel
comprendidas entre la hoja ENE y la hoja DIC y tomar el valor de la celda B2 de todas
ellas. Al indicar esta referencia como el argumento a la funcin SUMA obtendremos el
resultado deseado:

En este ejemplo he utilizado una referencia 3D para indicar una sola celda, sin embargo
las referencias 3D tambin se pueden utilizar con rangos de celdas.
El Asistente para tablas y grficos dinmicos

Por muchos aos he utilizado el Asistente para tablas y grficos dinmicos en Excel
para crear mis tablas dinmicas, sin embargo a partir de Excel 2007 este Asistente ya no
est disponible en la Cinta de opciones y no es tan simple encontrarlo, pero hoy te
mostrar cmo hacerlo.
Encontrando el asistente para tablas dinmicas

Un mtodo para mostrar el Asistente para tablas y grficos dinmicos es utilizar el atajo
de teclado: ALT+T+B. (Si tienes Excel en ingls el atajo es: ALT+D+P). La verdad es
que no es tan sencillo ingresar esta combinacin de teclas ya que si no se hace de
manera adecuada se abrir el cuadro de dilogo para crear una Tabla de datos.
El mtodo que yo sigo es pulsar la tecla ALT por 2 segundos y mientras la mantengo
pulsada, ingresar la combinacin de las teclas T+B. Pero no te preocupes si no puedes
mostrar el Asistente con este mtodo ya que existe otra alternativa que explico a
continuacin.

Otro mtodo para mostrar el Asistente para tablas y grficos dinmicas es agregarlo a la
barra de herramientas de acceso rpido y para hacerlo debes hacer clic derecho sobre la
barra de herramientas y seleccionar la opcin Personalizar barra de herramientas de
acceso rpido y se mostrar el cuadro de dilogo Opciones de Excel. En la seccin
Comandos disponibles en debers seleccionar la opcin Todos los comandos y
entonces buscar el comando correspondiente al Asistente:

De esta manera podrs tener siempre disponible en la barra de herramientas el Asistente


para tablas y grficos dinmicos que nos ayudar en la creacin de tablas dinmicas.

Crear una tabla dinmica con el Asistente

La primera de las opciones del Asistente nos permite crear una tabla dinmica con los
datos que tengamos en nuestras hojas de Excel, por ello esta opcin es llamada Lista o
base de datos de Microsoft Excel.

Al seleccionar esta opcin y hacer clic en Siguiente, se mostrar el segundo paso del
proceso que nos permitir especificar el rango de celdas en las que estar basada nuestra
tabla dinmica.

Una vez seleccionado el rango adecuado, pulsamos el botn Siguiente y podremos


decidir si deseamos crear la tabla dinmica en una hoja de clculo nueva o en una hoja
ya existente.

Pulsamos el botn Finalizar y nuestra tabla dinmica habr s


Cmo crear una tabla dinmica

Las tablas dinmicas en Excel reciben su nombre por su capacidad de cambiar


dinmicamente la informacin agrupada con tan solo rotar las columnas o filas de la
tabla. En esta ocasin veremos un ejemplo claro de cmo crearlas.
Crear una tabla dinmica en Excel 2010

Haz clic sobre cualquier celda de la tabla de datos que se desea considerar en la nueva
tabla dinmica.

Ahora selecciona el comando Tabla dinmica que se encuentra dentro del grupo Tablas
de la ficha Insertar.

Se mostrar el cuadro de dilogo Crear tabla dinmica. Si es necesario podrs ajustar


el rango de datos que se considerar en la tabla dinmica.

En este mismo cuadro de dilogo se puede elegir si se desea colocar la tabla dinmica
en una nueva hoja de Excel o en una ya existente. Haz clic en el botn Aceptar y se
crear la nueva tabla dinmica.

Excel agregar en la parte izquierda del libro la tabla dinmica y en la parte derecha la
lista de campos. Esta lista de campos est dividida en dos secciones, primero la lista de

todos los campos de los cuales podremos elegir y por debajo una zona a donde
arrastraremos los campos que darn forma al reporte ya sea como columna, fila, valor o
como un filtro.
Para completar la tabla dinmica debemos arrastrar los campos al rea
correspondiente. Siguiendo el ejemplo propuesto del artculo anterior, colocar como
columna el campo Producto y como fila al campo Ciudad. Finalmente como valores
colocar el campo Ventas.

De manera predeterminada Excel aplica la funcn SUMA a los valores y la tabla


dinmica que resulta despus de hacer esta configuracin es la siguiente:

Utilizando una tabla dinmica fue posible crear un reporte de una manera fcil y sin la
necesidad de utilizar frmulas. Pronto veremos cmo se pueden elaborar tablas
dinmicas ms complejas que permitirn realizar un anlisis profundo de la
informacin.

Formularios en Excel
Los formularios en Excel son un mtodo para ingresar datos a nuestras hojas y son de
mucha utilidad porque nos ayudan a evitar errores en la captura de informacin.
Podemos comparar los formularios de Excel con los formularios impresos en papel.

Qu es un formulario en Excel?
Seguramente has llenado un formulario en papel, tal vez cuando has acudido a alguna
oficina de gobierno para realizar un trmite, as que sabes de lo que estoy hablando.
Estos formularios contienen instrucciones precisas de lo que debes escribir y contienen
los recuadros necesarios para ingresar los datos.
Los formularios en Excel no son tan diferentes de los formularios impresos ya que de
igual manera proveen de los espacios necesarios para ingresar los datos. Los
formularios en Excel utilizan objetos especiales conocidos como controles de
formulario que son precisamente los que nos permiten agregar campos de texto, listas,
botones de opcin entre otras cosas ms.

Tipos de formularios en Excel


Cuando hablamos de formularios en Excel, es necesario recordar que podemos crear
tres tipos diferentes de formularios:

Formulario de datos.

Hojas de clculo con controles de formulario o controles ActiveX.

Formularios de usuario en VBA.

A continuacin describir brevemente cada uno de ellos.

Formulario de datos
A travs de un formulario de datos podemos mostrar al usuario la informacin de una
sola fila de una tabla. En este formulario se puede hacer la edicin de la informacin e
inclusive crear un nuevo registro para la tabla.

Excel puede generar automticamente un formulario de datos para cualquier tabla. Un


detalle importante que debes saber sobre los formularios de datos es que si una celda
contiene una frmula no podrs modificar dicha frmula mediante el formulario sino
que solamente se mostrar el resultado del clculo sin poder editarlo.
Para saber ms sobre este tema consulta el artculo: Agregar filas a una tabla de Excel.

Hoja de clculo con controles de formulario


Ya que las celdas de una hoja de Excel nos sirven para introducir informacin, podemos
pensar en una hoja como un gran formulario. De esta manera, si agregamos controles de
formulario a nuestra hoja podremos crear formularios de entrada de datos muy
tiles. Por ejemplo, podemos agregar a nuestra hoja un control de cuadro de lista para
facilitar la seleccin de los elementos.

De igual manera podemos agregar botones, cuadros combinados, casillas de verificacin


y otros controles ms que nos ayudarn a crear formularios avanzados.

Formulario de usuario en VBA

Los formularios de usuario en VBA, tambin conocidos como UserForm, son cuadros
de dilogo que hacen uso de controles de formulario para solicitar informacin al
usuario. Estos formularios son creados desde el Editor de Visual Basic y administrados
desde cdigo VBA.

Una vez que se ha creado el formulario de usuario podemos arrastrar y soltar los
controles que estn disponibles desde el Cuadro de herramientas:

Si quieres crear un formulario bsico en VBA, sigue los pasos descritos en el artculo
Formularios en VBA.
Los diferentes tipos de formularios en Excel nos evitarn dolores de cabeza ya que
podremos tener cierto grado de control sobre el ingreso de datos que otras personas
realizan sobre nuestras hojas de Excel.
Base de datos en Excel

Una base datos es un conjunto de datos que ha sido organizado bajo un mismo contexto
y cuya informacin est almacenada y lista para ser utilizada en cualquier momento. Las
bases de datos pueden almacenar informacin sobre personas, productos, ventas o
cualquier otra cosa.
Una base de datos organiza la informacin relacionada en tablas las cuales estn
compuestas por columnas y filas. Una tabla tendr un nmero especfico de columnas,
pero tendr cualquier nmero de filas.

Si observas con detenimiento la imagen anterior, notars que una tabla se asemeja
mucho a una hoja de Excel la cual tambin est dividida en columnas y filas. Por esa
razn Excel ha sido utilizado por mucho tiempo, y por muchas personas, como un
repositorio de datos.
Diseo de bases de datos en Excel

Si diseas y organizas adecuadamente la informacin dentro de tu libro de Excel podrs


consultar tus datos de una manera fcil y eficiente, as que en esta ocasin hablaremos
sobre las mejores prcticas para crear una base de datos en Excel que te permitirn
organizar y estructurar adecuadamente la informacin.
Como ejemplo analizaremos el caso de una pequea librera que desea crear un catlogo
de sus libros en Excel as como tener una lista de sus clientes y las rdenes de compra.
Antes de crear la base de datos en Excel comenzaremos por crear el diseo siguiendo
los pasos descritos en el artculo Diseo de bases de datos.

Paso 1: Identificar las tablas de la base de datos

Nuestro primer paso en el diseo de una base de datos en Excel ser identificar las
tablas que ocuparemos para organizar la informacin. Para nuestro ejemplo de la
librera podemos mencionar las siguientes tablas:

Para identificar adecuadamente las tablas de una base de datos debes poner atencin en
las agrupaciones naturales de la informacin, es decir, en los sujetos que interactan en
la problemtica analizada. En este caso los sujetos principales son los libros, los clientes
y las rdenes.
Paso 2: Determinar los campos de las tablas

Una vez que hemos identificado las tablas debemos indicar el nombre de cada una de
sus columnas (campos). El nombre del campo deber ser descriptivo y nos ayudar a
identificar cada una de las propiedades de un elemento de la tabla.
Por ejemplo, para cada libro en venta en la librera guardaremos su cdigo ISBN, el
ttulo, el autor y el precio por lo que dicha tabla quedar definida de la siguiente
manera:

Los campos de cada tabla dependern de la informacin que est a tu disposicin para
ser ingresada en la base de datos. Por ejemplo, algunas empresas o negocios tendrn
inters en capturar ms informacin sobre sus clientes lo cual har que su tabla de
Clientes tenga ms campos que los mostrados en el ejemplo anterior.
Paso 3: Identificar la llave primaria de cada tabla

Una llave primaria nos permitir identificar de manera nica cada uno de los registros
de las tablas. En el caso de la tabla Libros, el ISBN ser la llave primaria ya que es un
cdigo nico internacional para cada libro publicado por lo que dicho nmero jams se
repetir.

En el caso de las tablas para rdenes y Clientes crearemos un nmero consecutivo que
identificar de manera nica cada una de las filas.
Paso 4: Identificar las relaciones entre tablas

Este paso es de utilidad para asegurarnos que podremos vincular la informacin de las
tablas a travs de la relacin que existe entre dos de sus campos. Por ejemplo, si para
una determinada orden de compra quiero saber el ttulo del libro que ha sido vendido,
bastar con relacionar la columna ISBN de la tabla rdenes con la columna ISBN de la
tabla Libros para conocer el ttulo.

De manera similar, si deseo conocer el cliente para una determinada orden de compra,
solo deber seguir la relacin indicada por el campo IDCliente en ambas tablas.
Paso 5: Identificar datos repetidos en tablas

Aun cuando pensemos que hemos terminado con el diseo de nuestra base de datos, es
importante hacer un breve ejercicio con algunos datos reales para identificar la posible
existencia de datos repetidos y tomar las decisiones adecuadas para evitarlos.
Por ejemplo, considera el caso de la tabla Libros donde podramos tener uno o ms
ttulos escritos por el mismo autor. En ese caso, estaramos repitiendo el nombre y
apellido del autor en varios registros de la tabla.

Para evitar la repeticin de datos lo recomendable es crear una nueva tabla que
almacene la informacin de los autores y hacer referencia a dicha tabla a travs de su
campo llave tal como se muestra en la siguiente imagen:

De esta manera evitaremos la repeticin en el nombre de los autores y tambin se


evitar la captura de un sin nmero de variantes del mismo. Para seguir con nuestro
anlisis, haremos una captura de datos de prueba de una orden, por ejemplo:

Estos son los datos de la orden de compra nmero 1 donde el cliente ha comprado 3
libros, siendo dos de esas copias del mismo ttulo. El problema con estos datos es que se
repite el nmero de orden y eso no sera posible ya que esa es nuestra llave primaria en
la tabla y no puede repetirse. Adems para cada registro se repite la Fecha, as como las
columnas IDCliente y TipoPago. Para resolver este problema debemos crear una tabla
adicional que almacenar los libros de cada orden de compra de la siguiente manera:

Es as como el haber identificado datos repetidos en las tablas nos ha hecho tomar la
decisin de agregar tablas adicionales a nuestro diseo para minimizar el espacio
utilizado por nuestra base de datos que ser de gran importancia al momento de que los
datos crezcan. De esta manera nuestro diseo final queda de la siguiente manera:

Crear la base de datos en Excel

Una vez que tenemos el diseo de la base de datos podemos crearla fcilmente en Excel
siguiendo dos recomendaciones:

Cada tabla del diseo ser una tabla de Excel.

Colocar cada tabla en su propia hoja de Excel.

El motivo para utilizar tablas de Excel es que existen mltiples beneficios de utilizar
tablas entre los cuales estn los filtros y el reconocimiento automtico de nuevas filas y
columnas. Por otro lado, la razn por la cual colocar cada tabla en su propia hoja de

Excel es para facilitar el crecimiento de los datos ya que si colocas varias tablas en una
misma hoja probablemente tendrs que moverlas o redefinirlas cada vez que alguna de
ellas aumente de tamao y se sobrepongan entre s.
Consultar la base de datos en Excel

Una vez que se ha creado la base de datos en Excel y comiencen a crecer los datos,
seguramente te encontrars con la necesidad de relacionar la informacin de diferentes
tablas para obtener datos complementarios. Por ejemplo, considera las siguientes dos
tablas:

La Hoja.Ordenes contiene una tabla llamada Ordenes y la Hoja.Clientes contiene la


tabla Clientes. Si al consultar la tabla Ordenes deseo conocer el Email del cliente que ha
efectuado dicha compra, puedo utilizar funciones de Excel para obtener dicha
informacin. Ya que estoy utilizando tablas de Excel, puedo hacer uso de las referencias
estructuradas, por ejemplo:
=BUSCARV(Ordenes[IDCliente], Clientes, 5,FALSO)

Esta frmula buscar el valor de la columna IDCliente, que pertenece a la tabla


Ordenes, dentro de la tabla Clientes y devolver la columna 5 de esta ltima tabla.
Observa el resultado de la frmula:

El resultado de la frmula es correcto ya que la orden nmero 1 fue hecha por el cliente
con un IDCliente igual a 5 y que corresponde a Luis cuyo Email es el mostrado en la
celda F2. De esta manera puedes relacionar la informacin de las diferentes tablas en tu
base de datos en Excel, ya sea utilizando la funcin BUSCARV o la combinacin de
funciones INDICE/COINCIDIR ya que ambas nos permite crear frmulas para buscar
datos.
Si quieres practicar un poco ms con este tipo de frmulas, descarga el libro de trabajo
que contiene el ejemplo que acabamos de realizar. Antes de finalizar este artculo, es
necesario hacer algunas aclaraciones importantes sobre las bases de datos en Excel,
pero para eso necesito explicar un poco sobre los sistemas de gestin de bases de datos.
Sistemas de gestin de bases de datos (DBMS)

Varias dcadas atrs, cuando las computadoras comenzaron a hacerse ms rpidas y


eficientes en el manejo de informacin, se hizo necesaria la creacin de un sistema que
se encargase de las operaciones con los datos. Desde la dcada de los aos sesenta se
crearon los primeros sistemas de gestin de bases de datos (DBMS por sus siglas en
ingls), cuya finalidad era facilitar el almacenamiento, modificacin y extraccin de los
datos.

El objetivo principal de un DBMS es coordinar y proteger el acceso a la informacin y


dicho objetivo se logra porque los usuarios o aplicaciones solo pueden obtener datos
utilizando alguna interfaz o lenguaje de alto nivel como SQL y el sistema de gestin de
bases de datos se encargar de devolver la informacin solicitada ya que el usuario, o
aplicacin, jams tiene contacto directo con los datos.
Es muy comn que en el campo de la informtica se hable de que una base de datos
debe tener un DBMS para ser considerada como una verdadera base de datos. Un
ejemplo de un DBMS es el producto de Microsoft conocido como SQL Server que es un
motor de base de datos diseado para el ambiente empresarial.

Excel no es un DBMS

Aunque exista una gran cantidad de personas que utilizamos Excel para almacenar
informacin, eso no lo convierte en un sistema de gestin de bases de datos. Excel no
tiene un servicio que controle la insercin o eliminacin de los datos sino que el mismo
usuario puede hacerlo directamente en la aplicacin.

Algunas desventajas que tenemos al utilizar Excel para almacenar nuestros datos son las
siguientes:

Solo un usuario puede acceder a la informacin al mismo tiempo.

Excel comenzar a ponerse lento cuando la base de datos crezca en


gran manera.

No es posible establecer un nivel de seguridad avanzado como para


proteger ciertos datos de ciertos usuarios.

Conclusin

La realidad es que hay millones de usuarios de Excel que utilizamos la herramienta


como un repositorio de datos y aunque no es formalmente un sistema de gestin de
bases de datos, es posible utilizarlo para guardar informacin til.
Mi recomendacin es que si te encuentras con que alguna de las desventajas de Excel te
est causando dolores de cabeza con tu trabajo, entonces considera fuertemente la
opcin de utilizar algn DBMS como Microsoft SQL Server o Access. Si las
capacidades de Excel han sido hasta ahora suficientes para ti, entonces te recomiendo
seguir los pasos descritos en este artculo para hacer uso de las mejores prcticas en el
diseo y construccin de bases de datos en Excel y hacer ms eficiente el trabajo y
organizacin de la informacin.

Crear una imagen de un


rango de celdas

Excel nos permite convertir un rango de celdas en una imagen. Esta imagen
puede ser totalmente esttica o tambin puede ser una imagen que refleja los
cambios de los datos originales.
Imagen esttica de un rango

Para crear una fotografa de un rango de celdas debes seleccionar todas las
celdas y oprimir la combinacin de teclas Ctrl + C para copiarlas al
portapapeles. Despus debes pulsar el botn Imagen que se encuentra en el
men desplegable del botn Pegar.

El resultado ser una imagen que ser colocada justo encima del rango de
celdas original por lo que debes mover con el ratn la nueva imagen hacia una
nueva ubicacin. Al seleccionar la imagen se mostrar la ficha
contextual Herramientas de imagen la cual te permitir aplicar un formato.

La imagen que creamos es esttica, es decir, los cambios que hagamos al


rango de celdas original no se vern reflejados en la imagen.
Creando una imagen vinculada

Para crear una imagen que se actualice con los datos seguimos un
procedimiento similar al anterior pero al momento de pulsar el botn Pegar
seleccionamos el comando Imagen vinculada.

Excel pegar la imagen en la hoja y quedar vinculada al rango de celdas


original. Si hacemos algn cambio en los datos se vern reflejados dentro de la
imagen. De igual manera podremos aplicar el formato que necesitemos, en
este ejemplo he colocado la imagen sobre una forma.

Puedes darte cuenta que una imagen est vinculada porque al seleccionarla se
mostrar dentro de la barra de frmulas el rango de celdas al que est
vinculada. Si deseas desvincular la imagen ser suficiente con borrar el
contenido de la barra de frmulas.
Macro para copiar datos de una hoja a otra en Excel

Cuando necesitas copiar celdas de una hoja a otra en Excel existe la opcin de copiar los
datos mediante frmulas, sin embargo dicho mtodo hace un uso extensivo de funciones
y adems es necesario agregar una hoja intermedia para remover los datos no deseados.
Hoy crearemos una macro para copiar datos de una hoja a otra y podrs ver que este
mtodo es mucho ms directo y adems deja nuestras hojas sin tantas frmulas. Al
desarrollar esta macro nos aseguraremos de que se pueda copiar un rango completo de
celdas o que se puedan copiar solamente las celdas visibles despus de haber aplicado
un filtro. Para nuestro ejemplo trabajaremos con los siguientes datos:

Declarar e inicializar objetos

Comenzar por agregar un mdulo de cdigo y definir la subrutina CopiarCeldas que


ser la encargada de realizar la copia de los datos y que contendr los objetos necesarios
para referenciar las hojas de origen y destino as como los rangos de celdas
correspondientes. De hecho, para la tcnica utilizada en esta macro, solo ser necesario
indicar la esquina superior izquierda del rango que deseamos copiar.

Al momento de personalizar esta macro para copiar tus propios datos, debers realizar
las siguientes configuraciones:

Configurar los objetos wsOrigen y wsDestino con el nombre de la hoja


que contiene los datos originales y la hoja hacia la cual sern
copiados.

Configurar la constante celdaOrigen con la referencia de celda


ubicada en la esquina superior izquierda del rango de celdas que ser
copiado. La macro detectar y copiar automticamente las columnas
y filas adyacentes.

Configurar la constante celdaDestino con la referencia de celda en


donde se comenzar a pegar el rango copiado.

Las ltimas dos instrucciones del cdigo mostrado anteriormente inicializan las
variables rngOrigen y rngDestino con la informacin de los objetos previamente
configurados.
Copiar y pegar datos con VBA

Despus de haber definido los objetos a utilizar solo nos restar copiar las celdas de la
hoja origen y pegarlas en la hoja destino.

La primera lnea hace la seleccin de la celda origen, que es la esquina superior


izquierda del rango de datos original. En seguida se aumenta la seleccin hacia abajo
(xlDown), hasta la ltima fila adyacente y posteriormente hacia la derecha (xlToRight).
Pronto vers que esta tcnica de seleccin de celdas ser til para copiar las celdas
visibles.
Finalmente se llama el mtodo Copy y en seguida el mtodo PasteSpecial sobre el
rango destino. El parmetro xlPasteValues pega solamente los valores, pero si quieres
pegar inclusive el formato de las celdas, entonces debers utilizar el parmetro
xlPasteAll.
Macro para copiar datos en Excel

Ahora que ya tienes una idea clara de las instrucciones utilizadas en la elaboracin de
esta macro, te dejo el cdigo completo de la subrutina CopiarCeldas:
1 Sub CopiarCeldas()
2
3 'Definir objetos a utilizar
4 Dim wsOrigen As Excel.Worksheet, _
5
6
7

wsDestino As Excel.Worksheet, _
rngOrigen As Excel.Range, _
rngDestino As Excel.Range

8
9
10

'Indicar las hojas de origen y destino


Set wsOrigen = Worksheets("Origen")
Set wsDestino = Worksheets("Destino")

11
12
13

'Indicar la celda de origen y destino

14
15

Const celdaOrigen = "A1"


Const celdaDestino = "A1"

16
17

'Inicializar los rangos de origen y destino

18 Set rngOrigen = wsOrigen.Range(celdaOrigen)


19 Set rngDestino = wsDestino.Range(celdaDestino)
20
21 'Seleccionar rango de celdas origen
22 rngOrigen.Select
23 Range(Selection, Selection.End(xlDown)).Select
24 Range(Selection, Selection.End(xlToRight)).Select
25 Selection.Copy
26
27
28
29

'Pegar datos en celda destino


rngDestino.PasteSpecial xlPasteValues
Application.CutCopyMode = False

30
31

End Sub

Copiar datos de una hoja a otra

Para probar nuestra macro recin creada insertar un botn de formulario en la hoja que
contiene los datos originales y al momento de que Excel muestre el cuadro de dilogo
Asignar macro seleccionar la subrutina CopiarCeldas. Como resultado tendremos un
botn que nos permitir copiar datos de una hoja a otra en Excel.

Para nuestra primera prueba dejar el cdigo de la macro tal como fue desarrollado, es
decir con la celdaOrigen haciendo referencia a la celda A1 y lo mismo para la
celdaDestino. Al pulsar el botn copiar, la hoja Destino de nuestro libro se ver de la
siguiente manera:

Los datos se han copiado correctamente de la hoja Origen a la hoja Destino. Las celdas
no tienen formato porque la instruccin VBA que usamos para pegar hace uso del
parmetro xlPasteValues.
Copiar celdas visibles

Para el segundo ejemplo haremos los siguientes ajustes. Primero borrar los datos de la
hoja Destino. Despus aplicar un filtro a la columna Categora en los datos de la hoja
Origen.

Finalmente editar la macro (lnea 28) para cambiar el parmetro xlPasteValues por el
parmetro xlPasteAll de la siguiente manera:
rngDestino.PasteSpecial xlPasteAll

Con estos ajustes realizados, pulsaremos el botn Copiar ubicado en la hoja Origen y
obtendremos el siguiente resultado en la hoja Destino:

En esta ocasin se han copiado solamente las celdas visibles y adems tienen el mismo
formato que las celdas originales.
Ahora descarga el libro de trabajo y comienza a utilizar la macro para copiar datos de
una hoja a otra en Excel. Solo recuerda que debes configurar cada una de las variables
en el cdigo VBA de acuerdo al nombre de las hojas de tu libro e indicar las referencias
a las celdas de origen y destino.
Controles ActiveX en Excel

Los controles ActiveX son un tipo de controles que nos permiten agregar funcionalidad
de formularios a nuestros libros de Excel. Existe otro tipo de controles que es conocido
como Controles de formulario y que tienen una funcionalidad similar, sin embargo
existen algunas diferencias entre ambos tipos.
Controles ActiveX y controles de formulario

Los controles de formulario fueron introducidos desde la versin 4 de Excel y por lo


tanto han estado presentes en la aplicacin por ms tiempo que los controles ActiveX
los cuales comenzaron a ser utilizados a partir de Excel 97. Ya que los controles
ActiveX fueron introducidos posteriormente ofrecen ms posibilidades de configuracin
y formato que los controles de formulario. Ambos tipos de controles se encuentran en
la ficha Programador.

La diferencia ms significativa entre ambos es la manera en como podemos obtener


informacin de los controles al momento de interactuar con el usuario. Los controles de
formulario solamente respondern despus de que el usuario ha interactuado con ellos,
como despus de haber pulsado el botn. Por el contrario, los controles ActiveX
responden de manera continua a las acciones del usuario lo cual nos permite realizar
acciones como cambiar el tipo de puntero del mouse que se muestra al colocar el
puntero del ratn sobre el botn.
Propiedades de los controles ActiveX

A diferencia de los controles de formulario, los controles ActiveX tienen una serie de
propiedades que podemos configurar pulsando el botn Propiedades que se encuentra
dentro del grupo Controles de la ficha Programador.

Antes de poder ver las propiedades de un control ActiveX debemos pulsar el botn
Modo Diseo el cual nos permitir seleccionar el control y posteriormente ver sus
propiedades. Cada tipo de control ActiveX mostrar una ventana de Propiedades con sus
propias caractersticas. A continuacin un ejemplo de la ventana Propiedades para un
botn de comando ActiveX:

Controles ActiveX con subrutinas VBA

Otra diferencia entre los controles de formulario y los controles ActiveX es que los
primeros pueden tener asignada una macro y al hacer clic sobre el control de formulario
se iniciar la ejecucin de dicha macro.
Los controles ActiveX no tienen asignada una macro explcitamente sino que podemos
asignar cdigo VBA para cada evento del control. Un evento de un control ActiveX
puede ser el evento de hacer clic sobre el control, el evento de hacer doble clic, el
evento de obtener el foco sobre el control ActiveX, entre otros eventos ms. Para
asignar cdigo a uno de los eventos de un control ActiveX solamente debemos hacer
clic derecho sobre l y seleccionar la opcin Ver cdigo.

Esto mostrar el Editor de Visual Basic con una subrutina para el evento Click() donde
podremos escribir nuestro cdigo.

En la lista desplegable de la derecha podemos observar la lista de eventos disponibles


para nuestro control ActiveX y para los cuales podemos escribir cdigo VBA. Al
seleccionar cualquiera de dichos eventos se insertar una nueva subrutina que podremos
utilizar. Son precisamente la gran cantidad de eventos disponibles para los controles
ActiveX lo que los hace controles muy poderosos que podemos utilizar en nuestros
formularios.
Otra ventaja de los controles ActiveX en Excel

En la versin de Excel 2010 algunos controles de formulario han dejado de ser


soportados y no podemos utilizarlos ms en nuestras hojas. Ese es el caso del control de
formulario conocido como campo de texto. Sin embargo, dentro de la lista de controles
ActiveX seguimos teniendo disponible el control llamado Cuadro de texto lo cual puede
hacer atractiva la opcin de utilizar controles ActiveX en Excel en lugar de controles
de formulario

Marca de agua en Excel

Para insertar una marca de agua en Excel es necesario utilizar una tcnica alternativa
ya que la herramienta no tiene una funcionalidad integrada para esta tarea. En esta
ocasin mostrar cmo utilizar un texto o una imagen como marca de agua.
Texto como marca de agua en Excel

Una vez que te encuentras en la hoja donde deseas insertar un texto como marca de
agua debes hacer clic sobre la ficha Insertar y pulsar el botn Encabez. pie pg. que se
encuentra dentro de la ficha Texto.

Se insertar una nueva rea tanto para el Encabezado como para el Pie de pgina dentro
de la hoja de Excel. Dentro del Encabezado ingresa el texto que deseas que se muestre
como marca de agua. Selecciona el tamao adecuado de la fuente as como su color.

Finalmente, para mover el texto hacia abajo posiciona el cursor al inicio de la palabra y
presiona la tecla Entrar cuantas veces sea necesario para tener el texto a la altura que
deseas.

Imagen como marca de agua en Excel

Para colocar una imagen como marca de agua en Excel debemos utilizar el mismo
procedimiento anterior dentro del Encabezado de una hoja solo que en esta ocasin en
lugar de escribir un texto se insertar una imagen. Una vez que estamos listos para
insertar el Encabezado debemos ir a la ficha contextual Herramientas para encabezado
y pie de pgina y pulsar el botn Imagen.

Se mostrar un cuadro de dilogo que nos permitir buscar la imagen que deseamos
insertar y al pulsar el botn Insertar se mostrar el texto &[Imagen] como parte del
Encabezado de la hoja.

Si deseas ver la imagen que has insertado en el encabezado es suficiente con hacer clic
sobre cualquier celda fuera del Encabezado y Excel mostrar la imagen.

Si deseas mover la imagen hacia abajo debers seguir la misma tcnica mostrada
anteriormente que es posicionarte al principio del texto del Encabezado, que en este
caso sera antes del smbolo &, y pulsar la tecla Entrar para mover la imagen hacia
abajo.
Si necesitas cambiar el tamao de la imagen que acabamos de insertar como marca de
agua debes seleccionar el botn Dar formato a la imagen que se encuentra en la ficha
contextual Herramientas para encabezado y pie de pgina.

Se mostrar un cuadro de dilogo con las propiedades de la imagen y podrs


experimentar con ellas hasta lograr los ajustes necesarios.

Ordenar hojas de Excel


alfabticamente
Las hojas de un libro de Excel nos permiten gestionar adecuadamente nuestros
datos, pero si llegamos a tener una cantidad considerable de hojas se
dificultar el encontrar algunas de ellas. La solucin sera ordenar las hojas
de Excel alfabticamente de manera que se nos facilite su bsqueda.
Para este ejemplo utilizar un libro de Excel que contiene 183 hojas que han
sido insertadas de manera aleatoria, cada una con el nombre de un pas, pero
con tantas hojas en el libro se ha convertido en un dolor de cabeza el encontrar
la hoja correspondiente a cualquier pas, as que he tomado la decisin de
ordenarlas alfabticamente.

Por supuesto que tendramos la opcin de ordenar hoja por hoja de manera
manual, pero eso nos llevara un tiempo considerable por lo que en esta
ocasin crearemos una macro para ordenar hojas en Excel y automatizar por
completo este proceso.
Macro para ordenar hojas de Excel alfabticamente

La macro es muy sencilla ya que haremos un recorrido de todas las hojas del
libro utilizando dos bucles For-Next. El primer bucle nos servir para tomar hoja
por hoja y el segundo bucle para comparar cada una de ellas con el resto de
las hojas del libro. Si al hacer la comparacin descubrimos que alguna hoja
debe ir detrs de la otra haremos el movimiento correspondiente. Para crear
esta macro abrir el Editor de Visual Basic y crear un nuevo mdulo (Insertar
> Mdulo) donde colocar el siguiente cdigo VBA:
1

Sub OrdenarHojas_Ascendente()

2
3
4

For a = 1 To Sheets.Count
For s = a + 1 To Sheets.Count

If UCase(Sheets(a).Name) > UCase(Sheets(s).Name) Then

Sheets(s).Move Before:=Sheets(a)
End If

7
8
9

Next s
Next a

10
11

End Sub

Observa con detenimiento que este cdigo hace la comparacin de dos hojas a
la vez con la siguiente lnea de cdigo:
If UCase(Sheets(a).Name) > UCase(Sheets(s).Name) Then

Nuestro cdigo utiliza dos variables para recorrer todas las hojas. La variable
a indica la hoja actual y la variable s ser la hoja siguiente a la hoja actual.
La funcin Ucase convierte en maysculas el nombre de ambas hojas para
poder compararlas correctamente y utilizamos el operador mayor que (>) para
saber si la hoja actual es mayor que la hoja siguiente.
En programacin, una cadena de texto ser mayor que la otra si sus letras
iniciales aparecen despus en el alfabeto. Lo que evaluamos con nuestra
instruccin es si el nombre de la hoja actual aparece despus (en el alfabeto)
que el nombre de la hoja siguiente. Si dicha condicin se cumple, entonces
ser necesario moverlas de posicin para comenzar a ordenar alfabticamente.
Eso es precisamente lo que hacemos con la siguiente lnea de nuestro cdigo:
Sheets(s).Move Before:=Sheets(a)

Ordenar hojas de Excel de manera descendente

Antes de probar nuestra macro, crearemos una variante que nos


permitir ordenar las hojas de Excel de manera descendente. Los cambios
sern mnimos y los puedes ver en el siguiente cdigo:
1

Sub OrdenarHojas_Descendente()

2
3
4

For a = 1 To Sheets.Count
For s = a + 1 To Sheets.Count

If UCase(Sheets(a).Name) < UCase(Sheets(s).Name) Then

Sheets(s).Move Before:=Sheets(a)
End If

7
8
9

Next s
Next a

10
11

End Sub

Puedes notar que existen solamente dos pequeos cambios, el primero de


ellos es evidente ya que he cambiado el nombre de la subrutina para indicar
que se trata de un orden descendente. El segundo cambio es el uso del
operador menor que (<) en la comparacin de los nombres de las hojas. Esta
simple modificacin nos permitir cambiar la direccin de ordenacin de las
hojas para comenzar en la letra Z y terminar en la letra A.
Ordenar hojas de Excel con una macro

Una vez creadas ambas subrutinas probaremos el funcionamiento de cada una


de ellas. Para hacerlo puedes hacer clic en la ficha Vista > Macros para mostrar
el cuadro de dilogo Macro el cual enlistar el nombre de las macros recin
creadas.

Este cuadro de dilogo tambin lo puedes abrir desde la ficha Programador >
Cdigo > Macros. Una vez abierto el cuadro de dilogo debers elegir la macro
deseada y pulsar el botn Ejecutar. Si elegimos la
subrutina OrdenarHojas_Ascendente, el resultado ser el siguiente:

Si por el contrario, elegimos la macro llamada OrdenarHojas_Descendente, las


hojas del libro se comenzarn a ordenar a partir de la letra Z y en orden
descendente tal como lo puedes observar en la siguiente imagen:

De esta manera podemos ordenar hojas de Excel ya sea de manera


ascendente o descendente con tan solo ejecutar una macro y as podremos
encontrar rpidamente la hoja que necesitemos. Puedes descargar el libro de
trabajo para probar el ordenamiento de hojas por ti mismo y adems copiar la
macro desarrollada en este artculo.

Orden personalizado en
Excel
Excel nos permite ordenar los datos en un rango por cualquiera de sus
columnas utilizando el comando Ordenar de A a Z para aplicar un orden
ascendente o el comando Ordenar de Z a A para un orden descendente pero
existen ocasiones en las que necesitamos aplicar un orden personalizado en
Excel.
El comando Orden personalizado en Excel

El comando Orden personalizado se encuentra en la ficha Inicio > Modificar >


Ordenar y Filtrar.

Este comando abrir el cuadro de dilogo Ordenar el cual nos permitir ordenar
los datos por mltiples columnas e inclusive ordenarlas por el color de las
celdas. Tambin podremos crear un orden personalizado para cualquiera de las
columnas basndonos en una lista personalizada.

Ordenar por varias columnas en Excel

Cuando trabajamos en Excel es muy fcil ordenar una tabla de datos por
cualquiera de sus columnas ya sea de manera ascendente o descendente,
pero a veces necesitamos ordenar por varias columnas y la nica manera de
hacerlo es utilizando el cuadro de dilogo Ordenar.
Por ejemplo, considera un rango de datos con informacin sobre rdenes de
compra donde queremos ordenar la informacin por el nombre de la ciudad y
posteriormente por la fecha de la orden. Todo comienza por seleccionar
cualquiera de las celdas de datos y pulsando el comando Inicio > Modificar >
Ordenar y Filtrar > Orden personalizado.
Una vez que se abre el cuadro de dilogo debers elegir las opciones para el
primer nivel que son tres: Columna, Ordenar segn y Criterio de ordenacin.
Para la opcin Columna encontrars una lista con todos los encabezados de
columna de la tabla de datos y solo debers elegir aquella por la cual se
realizar el ordenamiento. Para nuestro ejemplo ser la columna Ciudad.

La opcin Ordenar segn la dejaremos con su valor predeterminado que


es Valores y la opcinCriterio de ordenacin como A a Z ya que deseamos
aplicar un orden ascendente en la columna Ciudad. Para agregar un segundo
nivel de ordenacin debes pulsar el botn Agregar nivel lo cual nos permitir
indicar la segunda columna por la cual deseamos ordenar los datos.

Observa que al detectar que la columna Fecha orden es de tipo fecha, las
opciones para el Criterio de ordenacin cambian y podemos seleccionar la
opcin De ms antiguos a ms recientes que nos permite ordenar las fechas de
manera ascendente. Para aplicar los dos niveles de ordenacin definidos

debemos pulsar el botn Aceptar y obtendremos un resultado como el


siguiente:

Las ciudades han sido ordenadas alfabticamente y en el caso de la ciudad de


Monterrey se ha colocado primero la orden del mes siete y posteriormente la
del mes ocho. De esta misma manera podrs agregar tantos niveles de
ordenacin como necesites y Excel aplicar cada uno de ellos en el orden
indicado.
Gestionar los niveles de ordenacin

Como ya hemos visto en la seccin anterior, el botn Agregar nivel nos permite
crear nuevos criterios de ordenacin para poder ordenar los datos por varias
columnas. Pero, si por alguna razn decidimos eliminar alguno de ellos ser
suficiente con hacer clic sobre dicho criterio para seleccionarlo y en seguida
pulsar el botn Eliminar nivel.
As mismo el cuadro de dilogo Ordenar muestra el botn llamado Copiar
nivel el cual nos permite hacer una copia de cualquiera de los criterios
previamente creados. Solo ser necesario seleccionar el criterio deseado y
pulsar el botn Copiar nivel para crear una copia y posteriormente modificar
sus propiedades.
En el ejemplo mostrado previamente, los criterios de ordenacin se aplicaron
en el mismo orden en el que aparecen en el listado. Si por alguna razn deseas
modificar ese orden podrs hacerlo utilizando los botones de flechas que estn
al lado del botn Copiar nivel que son conocidos como los
botones Subir y Bajar.

En nuestro ejemplo ordenamos los datos por la columna Ciudad y


posteriormente por la columnaFecha orden. Si queremos invertir dicho orden,
ser suficiente con hacer clic en el primer nivel y despus hacer clic en el
botn Bajar para invertir el orden en que sern aplicados los criterios de
ordenacin. Observa el resultado de esta accin:

Ahora los datos estn ordenados primero por fecha y luego por ciudad. Puedes
observar que para aquellas filas que tienen la misma fecha, las ciudades
aparecen en orden ascendente (alfabtico) por ejemplo, para el da 01/07/2010
aparece primero Barcelona y luego Monterrey o para el da 01/08/2010 se
muestra Bogot y despus Monterrey.
Ordenar con lista personalizada en Excel

Otra de las posibilidades de ordenamiento que tenemos con el comando Orden


personalizado en Excel es que podemos indicar un criterio basado en una
lista personalizada. Con esta opcin no estaremos limitados a ordenar siempre

de manera ascendente o descendente sino que podremos definir nuestra


propia secuencia de ordenamiento.
Si deseamos ordenar nuestros datos de ejemplo por su categora, pero en un
orden especial que no sea alfabtico, entonces debemos hacer lo siguiente.
Abrimos el cuadro de dilogo Ordenar e indicamos la columna Categora y
en Criterio de ordenacin seleccionaremos la opcin Lista personalizada.

Inmediatamente se mostrar el cuadro de dilogo Listas personalizadas donde


podremos definir el orden especfico en que deseamos ordenar la columna. En
el panel izquierdo seleccionamos la opcin NUEVA LISTA y a la derecha
ingresaremos las entradas de lista de la siguiente manera:

Si observas con detenimiento vers que los elementos indicados no estn en


orden alfabtico, ni ascendente ni descendente, as que la nica manera de
lograr este tipo de ordenamiento es utilizando la lista personalizada. Para
terminar pulsamos el botn Agregar para hacer permanente la creacin de la
lista personalizada y finalmente pulsamos Aceptar para regresar al cuadro de
dilogo Ordenar donde observars que la nueva lista personalizada se muestra
como el Criterio de ordenacin. Al aplicar este ordenamiento los datos
quedarn de la siguiente manera:

En este ejemplo he creado la lista personalizada ingresando cada uno de los


elementos dentro del cuadro de texto de entradas de lista, pero si tienes una
cantidad considerable de elementos por ingresar, entonces te convendr crear

la lista personalizada desde un rango de celdas. Este mtodo implica crear la


lista personalizada antes de intentar ordenar los datos y los pasos para su
creacin los puedes encontrar en el artculo Crear listas personalizadas en
Excel.
Orden personalizado por color

Adems de los beneficios mencionados anteriormente, el comando Orden


personalizado nos permite ordenar nuestros datos por el color de relleno de la
celda, por el color de la fuente e inclusive por el conjunto de iconos de formato
condicional desplegado dentro de las celdas.
Para mostrar esta funcionalidad he creado una regla de formato condicional en
la columna Total para resaltar aquellas celdas que tienen un valor superior a los
$2000 y ahora deseo ordenar los datos para colocar dichas celdas en la parte
superior de la tabla. Lo nico que debo hacer es que al momento de crear el
nivel de ordenacin elegir la opcin Color de celda de la siguiente manera:

Excel detectar automticamente los posibles colores para una misma columna
y nos permitir elegir entre ellos. Despus de elegir el color deseado y pulsar el
botn Aceptar obtendremos el siguiente resultado:

El funcionamiento ser el mismo si deseas ordenar por el color de fuente o


tambin si deseas implementar un ordenamiento por el cono de la celda.
El orden personalizado en Excel ser de mucha ayuda cuando necesites
ordenar tus datos por varias columnas, ya sea alfabticamente o utilizando una
lista personalizada para aplicar un criterio de ordenacin especial. Tambin nos
ser de gran ayuda para ordenar los datos basados en los colores de las
celdas o de la fuente.

Agregar texto al resultado


de una frmula en Excel
Todas las celdas en Excel pueden contener alguno de los siguientes datos: un
valor numrico, una cadena de texto o una frmula. En ocasiones creamos
frmulas que nos devuelven valores numricos y necesitamos agregar texto al
resultado de la frmula para hacer ms entendible su significado. Eso lo
podrs lograr fcilmente haciendo una concatenacin de los valores, pero
debes saber que habr una consecuencia.
Supongamos que tengo una columna con cierta cantidad de das para varias
actividades y la celda B12 hace la suma de todos los valores numricos.

Lo que deseo hacer es que dicha celda muestre el resultado de la suma y


adems la palabra das. A continuacin analizaremos las opciones que
tenemos para hacer esto.
Utilizar la funcin CONCATENAR

La funcin CONCATENAR nos permite unir dos o ms valores de una celda y


como resultado obtener una nueva cadena de texto. Esta funcin acepta hasta
255 valores, as que no tendremos problema alguno en utilizarla para nuestro
ejemplo. La frmula a utilizar ser la siguiente:
=CONCATENAR(SUMA(B2:B11), " das")

El primer valor a concatenar ser la frmula original y el segundo argumento de


la funcin ser precisamente la cadena de texto das considerando un
espacio en blanco para marcar la separacin entre el resultado de la funcin
SUMA y la palabra das. Observa el resultado de esta frmula:

Utilizar el operador de concatenacin

Es posible obtener el mismo resultado anterior utilizando uno de los operadores


en Excel, que es el operador de concatenacin y que se representa con el
smbolo &. De esta manera, en lugar de utilizar la funcin CONCATENAR,
podemos utilizar la siguiente frmula:
=SUMA(B2:B11) & " das"

Observa que el resultado de esta frmula ser idntico a nuestro ejemplo


anterior:

Sin importar cul de los dos mtodos anteriores utilices tendremos la misma
consecuencia que explicar a continuacin. El resultado original de la funcin
SUMA era un valor numrico pero el resultado de nuestras frmulas es una
cadena de texto. Esto implica que el valor contenido en la celda B12 ya no
podr utilizarse en otro clculo numrico porque ahora es simplemente texto.
El resultado de las dos frmulas anteriores en la celda B12 se ha alineado a la
izquierda indicando que es una cadena de texto. En la siguiente imagen
puedes observar cmo al intentar sumar el nmero uno al resultado de la celda
B12 obtendr el error #VALOR! ya que no se pueden realizar clculos con
cadenas de texto:

Si no te interesa mantener el valor numrico del resultado, entonces cualquiera


de los mtodos anteriores ser suficiente para mostrar el valor deseado dentro
de la celda, pero si quieres utilizar ese resultado en otros clculos, tendrs que
utilizar un mtodo alterno.
Mantener el valor numrico del resultado

La nica manera de mantener el valor numrico de una celda aun cuando se


despliegue un texto junto al resultado de su frmulaes utilizar el formato
personalizado de celdas. Sin utilizar frmulas adicionales, ms que la funcin
SUMA original, cambiar el formato de la celda B12 de la siguiente manera
(Clic derecho sobre la celda > Formato de celdas):

El formato personalizado # das mostrar esta ltima palabra dentro de la


celda sin afectar el valor numrico de la misma. Observa el resultado de este
cambio en el formato de la celda:

Para comprobar que la celda sigue conservando su valor numrico har la


misma prueba anterior al sumar el nmero uno al resultado de la celda B12 y
obtendr el resultado correcto:

Agregar texto a una fecha en Excel

Los mtodos mostrados anteriormente funcionan tambin para las fechas ya


que las fechas en Excel son valores numricos pero debes saber que si
concatenas una celda que contiene una fecha con un texto obtendrs el valor
numrico de la fecha tal como se puede observar en la siguiente imagen:

Para resolver este problema debers utilizar la funcin TEXTO que nos
ayudar a aplicar el formato adecuado a la fecha al momento de hacer la
concatenacin. Por ejemplo:

Si quieres conocer todo el detalle de ese tipo de frmulas consulta el


artculo: Convertir fecha a texto en Excel. Sin embargo, tal como en los

primeros ejemplos de este artculo, existe la solucin con frmulas pero


tambin una solucin con el formato personalizado de celdas y en este caso
podramos aplicar un formato a la celda B12 de la siguiente manera:

Al aplicar este formato personalizado seguiremos teniendo el valor numrico de


la celda lo cual har que se muestre en pantalla un formato de fecha
identificable para los usuarios.

La celda mantiene el valor de la fecha y lo puedes comprobar porque la barra


de frmulas solamente muestra la fecha de la celda y no muestra el texto, el
cual es solo parte del formato de la celda.
Es as como puedes agregar texto al resultado de una frmula en Excel, ya
sea utilizando el mtodo de la funcin CONCATENAR o del operador de
concatenacin (&) sabiendo que el resultado de ambas frmulas ser una

cadena de texto. Tambin puedes utilizar el mtodo del formato personalizado


el cual mantendr el valor numrico de la celda.

Cmo cargar datos a un


ComboBox en Excel
El Cuadro combinado, tambin conocido como ComboBox, es un control
ActiveX que nos permite crear una lista desplegable de la cual podremos
seleccionar alguno de sus elementos. Pero antes de poder utilizar este control,
es necesario saber cmo cargar datos a un ComboBox a partir de una lista
de valores en una hoja de Excel.
Para este ejemplo considerar dos posibles escenarios. El primero supone que
el control ha sido agregado directamente a la hoja de Excel y el segundo
escenario supondr que el ComboBox se ha insertado en un Formulario VBA.
Para ambos casos tomar los valores de la columna A y los insertar como los
elementos del cuadro combinado.

Cargar datos al ComboBox en una hoja de Excel

El caso ms simple es cuando has agregado el Cuadro


combinado directamente a la hoja de Excel ya que para agregar sus elementos
bastar con hacer clic derecho sobre el control ActiveX y seleccionar la
opcin Propiedades. Se mostrar el listado de propiedades y en la
propiedadListFillRange debers indicar el rango donde se encuentran los
datos.

Despus de aceptar los cambios tendremos listo nuestro ComboBox:

Cargar datos al ComboBox en un formulario VBA

En el caso donde el control est dentro de un formulario VBA, es necesario


indicar por cdigo los elementos que sern agregados al ComboBox de la
siguiente manera:
1

Private Sub UserForm_Initialize()

2
3

Dim rango, celda As Range

Set rango = Worksheets("Ejemplo1").Range("A1:A7")

5
6
7
8

For Each celda In rango


ComboBox1.AddItem celda.Value
Next celda

9
10

End Sub

Con este cdigo recorremos todas las celdas del rango A1:A7 y por cada celda
agregamos un nuevo elemento al ComboBox. Observa que el cdigo est
dentro del evento UserForm_Initializelo que ocasionar que la carga de datos
se haga en el momento en que se inicialice el formulario.

Si la lista de elementos de la columna A fuera fija, con cualquiera de los


ejemplos anteriores ser suficiente para cargar datos al ComboBox, pero si
dicha lista crece continuamente y necesitas que los nuevos elementos sean
considerados dentro del ComboBox, entonces debemos cambiar un poco el
enfoque de la solucin para considerar el uso de un nombre de rango dinmico.
Rango dinmico para cargar datos al ComboBox

Para crear un rango dinmico es necesario utilizar la funcin DESREF y


la funcin CONTARA la cual nos ayudar a conocer las celdas con valores
dentro de la columna que contiene los datos. Para crear el nombre debemos ir
a la ficha Frmulas > Nombres definidos > Asignar nombre.

Creamos el nombre MiLista que nos servir para hacer referencia a este rango
dinmico de celdas. En el ltimo cuadro de texto, donde generalmente
colocamos una referencia a un rango de celdas, colocaremos la siguiente
frmula:
=DESREF(Ejemplo2!$A$1,0,0,CONTARA(Ejemplo2!$A:$A))

Esta frmula devolver una referencia a un rango que inicia en la celda A1 (de
la hoja Ejemplo2) y termina N filas por debajo. La cantidad de filas a
desplazarse hacia abajo ser el resultado de la funcin CONTARA que cuenta
las celdas no vacas de la columna A.
De esta manera queda creado nuestro nombre de rango dinmico que
utilizaremos para cargar datos al ComboBox. Si quieres saber un poco ms
sobre la creacin de este tipo de nombres te recomiendo leer el
artculo Nombres de rango dinmicos. En las siguientes secciones haremos
uso de este rango dinmico recin creado.
ComboBox en hoja de Excel con rango dinmico

Si nuestro ComboBox se encuentra en la hoja de Excel, podemos hacer


referencia al rango dinmico abriendo la ventana de propiedades y para la
propiedad ListFillRange colocar el nombre del rango dinmico:

Sin embargo, con esta adecuacin no es suficiente para que la actualizacin


del ComboBox sea automtica. Si dejamos las cosas as, los datos se
refrescarn solamente hasta que cerremos y volvamos a abrir el libro, as que
lo mejor ser agregar cdigo adicional a nuestra hoja para asegurarnos de que
la actualizacin se hace en cuanto modificamos los elementos de la columna A.
1
2

Private Sub Worksheet_Change(ByVal Target As Range)


If Not Intersect(Target, Range("A:A")) Is Nothing Then

With ComboBox1

.Value = ""

.ListFillRange = "=MiLista"
End With

6
7
8

End If
End Sub

Con este cdigo nos aseguramos de que, al momento de agregar o eliminar un


elemento de la columna A, el ComboBox refrescar automticamente sus
elementos.

ComboBox en Formulario VBA con rango dinmico

Para hacer que un ComboBox que est ubicado dentro de un formulario cargue
sus datos desde el rango dinmico, debemos utilizar el siguiente cdigo:
1

Private Sub UserForm_Initialize()

2
3

Dim rango, celda As Range

Set rango = Range("MiLista")

5
6
7
8

For Each celda In rango


ComboBox1.AddItem celda.Value
Next celda

9
10

End Sub

La nica diferencia con el primer formulario es que el rango indicado es


precisamente el nombre del rango dinmico. Al momento de abrir el formulario
se cargar el ComboBox con todos los elementos de la columna A.

En este caso no es necesario agregar cdigo adicional ya que cada vez que
abramos el formulario se actualizarn los elementos del ComboBox.
Solo resta que descargues el libro de trabajo para seguir probando con los
ejemplos mostrados en este artculo. En el archivo descargado encontrars dos
hojas, la primera contiene los primeros dos ejemplos del artculo y la segunda
hoja contiene los ejemplos que hacen uso del rango dinmico.

Color intermitente en celda


de Excel
Una manera muy fcil de llamar la atencin hacia una celda especfica de
nuestra hoja es estableciendo un color de fondo para la misma, pero si eso no
fuera suficiente, podemos crear un efecto de color intermitente en la celda de
manera que sea casi inevitable dirigir la mirada hacia ella.
Es muy probable que existan diferentes mtodos para desarrollar este tipo de
solucin, y sera difcil explicarlos todos, as que en esta ocasin me enfocar
en crear el efecto de celda parpadeante utilizando los estilos de celda y un
poco de programacin en VBA. Empecemos por explicar un poco sobre dichos
estilos de celda ya que ser el primer paso en el desarrollo de nuestra solucin.
Paso 1: Crear estilo de celda

Los estilos de celda los encontramos en la ficha Inicio dentro del grupo Estilos.
Si haces clic en el botn Estilos de celda podrs ver una gama de estilos
previamente definidos en Excel.

Tenemos la opcin de utilizar alguno de los estilos definidos o si lo deseas,


puedes crear tu propio estilo haciendo clic en la opcin Nuevo estilo de
celda que abrir un cuadro de dilogo que nos permitir configurar cada uno de
los aspectos del nuevo estilo.

Cada una de las cajas de seleccin mostradas corresponde a una de las


pestaas del cuadro de dilogo Formato de celdas el cual se abrir al hacer clic
en el botn Aplicar formato y nos permitir indicar los valores especficos para
el nuevo estilo. Sin embargo, para nuestro ejemplo no crear un nuevo estilo, si
no que crear un estilo basado en otro ya existente y para eso har clic
derecho sobre el estilo llamado nfasis2 que se encuentra dentro de los
estilos de celda predefinidos y seleccionar la opcin Duplicar dentro del men
emergente. Se mostrar el cuadro de dilogoEstilo y cambiar el Nombre del
estilo por Intermitente.

Es importante recordar este nuevo nombre de estilo porque haremos referencia


a l dentro del cdigo VBA. Finalmente debemos aplicar este nuevo estilo a la
celda que tendr el efecto de intermitencia.

Paso 2: Crear las macros

Sin ms prembulos, te mostrar el cdigo de las subrutinas que nos ayudarn


a aplicar un color intermitente en la celda de Excel. Posteriormente har una
explicacin detallada del cdigo.
1

Dim Siguiente As Date

Dim EstiloColor As Double

Dim Iniciado As Boolean

Const EstiloNombre As String = "Intermitente"

Const EstiloColor2 As Double = 0

6
7

Sub Iniciar()

8
9
10

Siguiente = Now + TimeValue("00:00:01")


IniciarColor

11
12

With ActiveWorkbook.Styles(EstiloNombre)
If .Interior.Color = EstiloColor Then

13
14

.Interior.Color = EstiloColor2
Else

15
16
17

.Interior.Color = EstiloColor
End If
End With

18
19
Application.OnTime Siguiente, "Iniciar"

20
21

End Sub

22
23

Private Sub IniciarColor()

24
25

If Iniciado = False Then

26

EstiloColor = ActiveWorkbook.Styles(EstiloNombre).Interior.Color

27

Iniciado = True

28

End If

29
30

End Sub

31
32

Sub Detener()

33
34

Application.OnTime Siguiente, "Iniciar", schedule:=False

35

ActiveWorkbook.Styles(EstiloNombre).Interior.Color = EstiloColor

36
37

End Sub

38

Primero explicar el objetivo de las variables y constantes definidas en las


primeras cinco lneas de cdigo:

Siguiente: Define el intervalo del siguiente parpadeo de la celda. Es del


tipo Date porque almacenar un valor de tiempo determinado entre parpadeos.

EstiloColor: Guardar el color de fondo del estilo de celda que hayamos


definido para dar el efecto de intermitencia.

Iniciado: Esta variable me ayudar a saber si ya se ha inicializado el valor de


la variableEstiloColor. En un principio el valor de esta variable ser falso, pero
en cuanto se asigne un valor a la variable EstiloColor, la
variable Iniciado tendr un valor verdadero.

EstiloNombre: Esta constante ser el nombre del estilo que creamos en al


Paso 1 y que para nuestro ejemplo ser el estilo Intermitente.

EstiloColor2: Ser el color con el que se alternar el color de fondo original del
estilo de celda que para nuestro ejemplo ser el color negro (0).

En el cdigo mostrado previamente estn definidas tres subrutinas y una de


ellas es privada, lo que significa que no ser mostrada en la lista de macros,
as que comenzar explicando la subrutinaIniciar que es donde comienza todo.
La primera lnea de cdigo establece el valor de la variableSiguiente con el
valor del momento actual (Now) ms 1 segundo. Esto quiere decir que entre
un cambio de color y el otro habr 1 segundo de diferencia.
La segunda instruccin es el llamado a la subrutina privada IniciarColor, as que
analicemos de una vez el cdigo de dicha subrutina. Lo nico que hacemos
dentro de IniciarColor es evaluar el valor de la variable Iniciado para saber si
necesitamos establecer el valor de la variable EstiloColor con el valor del color
original del estilo de celda. Este procedimiento se ejecutar solo la primera vez
ya que de inmediato establecemos el valor de la variable Iniciado igual a True y
por lo tanto la prxima vez que se llame esta subrutina la evaluacin resultar
falsa.
Ahora que la variable EstiloColor ya tiene el color original del estilo de celda
regresaremos a la subrutina Iniciar y podemos ver que la siguiente instruccin
es precisamente la evaluacin de la propiedad Color del estilo de celda. Si el
valor del color de fondo es igual al color original, entonces lo cambiar por el
color definido en la variable EstiloColor2, de lo contrario regresamos al color
original. Esta alternancia en el valor de la propiedad Interior.Color es
precisamente lo que dar el efecto de color intermitente a la celda de Excel.
La subrutina Iniciar finaliza con la instruccin Application.OnTime que establece
la nueva ejecucin de la subrutina en el intervalo definido por la
variable Siguiente. Puedes ver que hay una instruccin similar dentro de la
subrutina Detener, con la diferencia de que se agrega el
argumentoschedule:=False para detener la ejecucin cclica de la
subrutina Iniciar.
Es as como la subrutina Detener para por completo el parpadeo de la celda y
finalmente restablece el color original del estilo de celda. Ahora que tenemos
una mejor idea de lo que hacen las subrutinas, debemos dar el paso final para
activar el color intermitente en la celda.
Color intermitente en una celda de Excel

Tal como lo suger en el primer paso, debemos aplicar el estilo de celda


Intermitente a aquella celda que deseamos dar el efecto de parpadeo. Una

vez hecho esto, solo restar ir a la ficha Vista, pulsar el botn Macros y
finalmente elegir la macro Iniciar:

Al pulsar el botn Ejecutar la celda, o celdas, que tengan el estilo Intermitente


comenzarn a parpadear, es decir a alternar su color de fondo tal como se
observa en la siguiente animacin:

Para detener la ejecucin de la macro debemos ir de nueva cuenta a la ficha


Vista, pulsar el botnMacros, seleccionar la macro Detener y pulsar el
botn Ejecutar.
Observaciones importantes

En este ejemplo he elegido los colores rojo y negro como los colores
alternantes. El color rojo fue elegido grficamente al momento de crear el estilo
de celda, pero el valor numrico del color negro fue colocado directamente en
el cdigo. Si quieres alternar con un color diferente al negro, ser indispensable
conocer su valor numrico y la nica manera hacerlo en Excel es a travs de
cdigo VBA.

Te recomiendo consultar el artculo Operaciones con colores en Excel donde


encontrars la funcin OBTENERCOLOR que te ayudar a obtener el valor
numrico de cualquier color de fondo de una celda. Es muy importante recordar
que los colores que podemos controlar con los mtodos mostrados son
aquellos que han sido aplicados con las herramientas de estilo de Excel y no
funcionar con los colores aplicados por formato condicional ya que dicha
informacin de color se guarda en propiedades muy diferentes.
Otra cosa que vale la pena mencionar es que en este ejemplo no se ha
modificado el color de la fuente, pero puede llegar a ser necesario si dicho color
no contrasta adecuadamente con el color de fondo que hayas elegido. En ese
caso ser necesario modificar tambin el color de la fuente establecido en el
estilo de celda el cual estar guardado en la propiedad Font.Color.

Para no dejar dudas a esta ltima observacin, en el archivo de descarga


encontrars un segundo libro de trabajo donde agrego las instrucciones VBA
para cambiar tambin el color de la fuente de la celda que est parpadeando.
Solo resta que descargues el libro de trabajo y compruebes por ti mismo los
mtodos que he mostrado para aplicar un color intermitente a una celda de
Excel.

Conversin de unidades en
Excel
Las unidades de medida han estado presentes a lo largo de la historia de la
humanidad y son adoptadas por convencin para medir una determinada

magnitud fsica. Sin embargo, hoy en da no todos los pases del mundo han
adoptado el mismo sistema de medicin por lo que se hace necesario recurrir a
la conversin de unidades para encontrar los valores equivalentes entre
ambos sistemas.
Cuando hablamos de la conversin de unidades nos referimos primordialmente
a la conversin entre el Sistema Internacional de Unidades y el Sistema
anglosajn de unidades que son los dos sistemas ms reconocidos en el
mundo, aunque este ltimo es utilizado de manera oficial solamente por tres
pases: Estados Unidos, Liberia y Birmania.
Conversin de unidades en Excel

Debido al uso tan frecuente de las unidades de medida y la necesidad de hacer


conversiones entre los diferentes sistemas, Excel ha incluido la funcin
CONVERTIR desde la versin de Excel 2007. Los argumentos de esta funcin
son los siguientes:

Nmero: El nmero que se va a convertir.

Desde_unidad: La unidad de medida del Nmero que se va a convertir.

A_unidad: Las unidades del resultado devuelto por la funcin.

De esta manera, si queremos convertir 95 grados Fahrenheit a grados


Centgrados podemos utilizar la siguiente frmula:
=CONVERTIR(95,"F","C")

Al utilizar esta frmula en nuestra hoja de clculo obtendremos el resultado


correcto, que son 35 grados Centgrados:

Como puedes notar, el segundo y tercer argumento de la funcin


CONVERTIR utilizan abreviaturas para indicar las unidades de medida de
origen y destino, as que es de suma importancia conocer dichas abreviaturas
que nos permitirn convertir unidades en Excel y para eso dejar una lista
detallada en la ltima seccin de este artculo.
Planilla de conversin de unidades en Excel

Para facilitar la conversin de unidades en Excel he creado una planilla que


contiene todos los tipos de medidas entre los cuales se puede realizar una
conversin utilizando la funcin CONVERTIR. La manera de utilizarla es muy
sencilla, por ejemplo, si deseo convertir 100 gramos a libras el primer paso ser
colocar el valor 100 en la celda que se encuentra en la interseccin de la
fila Gramo y la columna Gramo:

Como resultado, todas las celdas de la fila Gramo mostrarn el valor


equivalente as que el segundo paso ser obtener el valor que se encuentra en
la columna Libra el cual me indicar que 100 gramos es equivalente a 0.22
libras. En este ejemplo he utilizado la tabla de Peso y masapero en la planilla
encontrars 10 tablas con las diferentes categoras de unidades de medida que
podemos utilizar con la funcin CONVERTIR.
Descarga la planilla de conversin de unidades en Excel.
Unidades de medida en Excel

A continuacin encontrars el listado completo de unidades junto con sus


abreviaturas tal como las debemos utilizar en la funcin CONVERTIR en Excel:
Unidades de peso y masa

g Gramo

sg Slug

lbm Libra (masa)

u U (unidad de masa atmica)

ozm Onza (masa)

Unidades de longitud

m Metro

mi Milla terrestre

Nmi Milla nutica

in Pulgada

ft Pie

yd Yarda

ang Angstrom

pica Pica

Unidades de tiempo

yr Ao

day Da

hr Hora

mn Minuto

sec Segundo

Unidades de presin

Pa Pascal

atm Atmsfera

mmHg mm de mercurio (torr)

Unidades de fuerza

N Newton

din Dina

lbf Libra fuerza

Unidades de energa

J Julio

e Ergio

cal Calora IT

eV Electronvoltio

HPh Caballos de fuerza-hora

Wh Vatio-hora

flb Libra-pie

BTU BTU (Unidad trmica inglesa)

c Calora termodinmica

Unidades de potencia

HP Caballos

W Vatio

Unidades de magnetismo

T Tesla

ga Gauss

Unidades de temperatura

C Grado Celsius

F Grado Fahrenheit

K Kelvin

Unidades de capacidad

tsp Cucharadita

tbs Cucharada

oz Onza lquida

cup Taza

pt Pinta de EE.UU.

uk_pt Pinta del Reino Unido

qt Cuarto de galn

gal Galn

l Litro

Cmo ejecutar una macro


al abrir Excel
Si quieres ejecutar ciertas acciones automticamente al momento de abrir
Excel, es posible grabar o escribir una macro que sea ejecutada en el momento
de abrir un libro. En esta ocasin te mostrar dos alternativas para ejecutar
una macro al abrir Excel, uno de los mtodos es ideal para aquellos que
apenas comienzan con la programacin de macros y el otro mtodo para
aquellos usuarios que son un poco ms experimentados.
El primer mtodo que mostrar har uso de la grabadora de macros. Y como
probablemente lo sabes, una vez que activamos la grabacin, todas las
acciones realizadas en la interfaz de Excel sern grabadas hasta el momento
en que detengamos dicha grabacin. El truco para nuestro primer ejemplo
radica en el momento en que guardamos la macro.
La subrutina Auto_Open en Excel

Para beneficio de todos los lectores, en especial para aquellos que no tienen
experiencia con macros, haremos este ejercicio paso a paso. Para comenzar
con la grabacin de una macro debes pulsar el botn Grabar que se encuentra
en el extremo inferior izquierdo de la barra de estado de Excel:

Esto abrir el cuadro de dilogo Grabar macro, donde tendremos que nombrar
forzosamente la macro como Auto_Open.

El nombre de la macro deber ser Auto_Open porque esa es la manera en que


Excel sabr que existe cdigo que deber ejecutar al abrirse. Si no colocas
este nombre a la macro, entonces no suceder nada al abrir el libro de Excel.
Para comenzar la grabacin de la macro debers hacer clic en el botn
Aceptar.
Para este primer ejemplo nuestro objetivo ser colocar en la celda B1 la fecha y
hora actual de manera que al momento de abrir el libro de Excel quede
registrado el momento en que se abri el archivo. Para lograr esto realizar las
siguientes acciones (recuerda que estoy grabando la macro):
1. Seleccionar la celda B1
2. En la barra de frmulas insertar la frmula =AHORA() y pulsar Entrar.
3. Seleccionar la celda B1 y copiar su contenido (CTRL+C).
4. Hacer clic derecho sobre la celda B1 y seleccionar Opciones de pegado >
Valores.
5. Pulsar la tecla Esc.
6. Pulsar el botn Detener.

El botn Detener lo encontrars en la barra de estado, en el mismo lugar donde


inicialmente se encontraba el botn Grabar. Con esto habremos terminado de
grabar la macro y tendrs un resultado como el siguiente:

La macro que acabamos de grabar hace lo siguiente: Primero inserta la funcin


AHORA en la celda B1 para obtener la fecha y hora actuales. En seguida copia
el valor de la celda B1 y lo vuelve a pegar sobre s misma como un valor, de
esta manera la celda ya no tendr una frmula sino un valor de fecha y hora
que permanecer esttico mientras trabajamos con el libro.
Finalmente debemos guardar el libro asegurndonos de guardarlo como
un Libro de Excel habilitado para macros. La prxima vez que abras este libro,
el valor de la celda B2 se actualizar automticamente con la fecha y hora
actuales. Es as como podrs ejecutar una macro al abrir Excel utilizando la
subrutina Auto_Open.
Observaciones del primer mtodo

Una vez que has creado la macro llamada Auto_Open podrs ver su cdigo
VBA desde la ficha Vista > Macros y dentro del cuadro de
dilogo Macro debers seleccionarla y pulsar el botnModificar.

Esto abrir el Editor de Visual Basic y podrs modificar el cdigo de la


subrutina si as lo deseas, aunque si eres un usuario principiante esto te
parecer un tanto intimidante, pero aun as te recomiendo revisar el cdigo de
la macro recin creada ya que es un buen mtodo para aprender ms sobre
programacin en VBA.
Si quieres sobrescribir la subrutina Auto_Open sin editar el cdigo VBA, puedes
hacerlo con la Grabadora de macros. Lo nico que debes hacer es volver a
grabar la macro y colocar de nueva cuenta el nombre Auto_Open y Excel
enviar una notificacin para saber si deseas sobrescribirla.

El evento Workbook_Open en Excel

Con el mtodo anterior estaremos siempre obligados a tener una subrutina


llamada Auto_Openpero si eres un usuario ms experimentado y deseas un
poco ms de control para ejecutar una macro al abrir Excel te interesar el
segundo mtodo que describir a continuacin.

Comenzaremos por abrir el Editor de Visual Basic desde la ficha


Programador o con el atajo de teclado ALT+F11 . Posteriormente vamos al
men Insertar > Mdulo para crear un nuevo mdulo de cdigo donde
colocaremos la subrutina que se ejecutar al abrir Excel. Para nuestro ejemplo
utilizar el siguiente cdigo:
1

Sub Iniciar()

2
3

MsgBox "Bienvenido a Excel"

4
5

End Sub

El nombre de la subrutina no es relevante y para el ejemplo la he nombrado


como Iniciar pero podrs utilizar cualquier nombre. Dentro de esta subrutina
puedo colocar cualquier cdigo VBA que deseo que se ejecute al abrirse Excel,
pero por simplicidad del ejemplo solamente abrir un cuadro de dilogo con un
mensaje de bienvenida. En este momento debers tener una vista del Editor de
Visual Basic como la siguiente:

El siguiente paso es hacer clic sobre el objeto ThisWorkbook que se encuentra


enlistado en el panel izquierdo y posteriormente debemos seleccionar de las
listas desplegables las opcionesWorkbook y Open tal como se muestra en la
siguiente imagen:

Dentro del evento Workbook_Open debers colocar el nombre de la subrutina


previamente creada. Cada vez que un libro de Excel es abierto, se revisa
automticamente el evento Workbook_Open y se ejecuta cualquier cdigo
especificado dentro del mismo. Lo nico que resta es guardar el cdigo y el
libro del ejemplo. Para probar nuestro cdigo debers cerrar el libro y volver a
abrirlo para entonces confirmar que se mostrar el mensaje previamente
programado.

Ejecutar una macro al abrir Excel

Con los dos ejemplos anteriores tendrs herramientas suficientes para


poder ejecutar una macro al abrir Excel. Ya sea que quieras utilizar la
subrutina Auto_Open o que desees crear tu propia subrutina para
posteriormente llamarla desde el evento Workbook_Open.
En ambos ejemplos anteriores, la macro se ejecutar el abrir especficamente
el libro para el cual ha sido creada. Si quieres que una macro se ejecute al
momento de abrir cualquier libro de Excel en tu equipo, entonces tendrs que
colocar el cdigo dentro del Libro de macros personal pero este procedimiento
solamente lo recomiendo para aquellos que tienen amplia experiencia en el
tema ya que estarn modificando el comportamiento de Excel para todos los
libros.
Un ltimo ejemplo

En el archivo que podrs descargar con los ejemplos anteriores he incluido un


tercer libro que contiene una macro que autoincrementa el valor de una celda
cada vez que se abre dicho libro.

Este tercer ejemplo hace uso del evento Workbook_Open por lo que es muy
similar al segundo ejemplo que hicimos, con la nica diferencia de que he
editado el cdigo de la subrutina Iniciar de la siguiente manera:
1

Sub Iniciar()

2
3
4

Worksheets("Hoja1").Range("B1").Value = _
Worksheets("Hoja1").Range("B1").Value + 1

5
6

ThisWorkbook.Save

7
8

End Sub

El cdigo se encarga de guardar el libro despus de incrementar el valor de la


celda. Tal vez una mejora a dicho ejemplo sera proteger la celda de manera
que nadie pueda modificar su valor y por lo tanto siempre conocer las veces
que ha sido abierto el libro, pero eso lo dejo a tu criterio e imaginacin.
Solo resta descargar el archivo comprimido que contiene todos los ejemplos
mostrados en este artculo y que comiences a crear macros que se ejecuten al
abrir un libro de Excel.
Referencias en Excel

Las referencias en Excel son parte fundamental de la hoja de clculo ya que a travs de
ellas podemos identificar cada una de las celdas de un libro de trabajo y de esa manera
acceder al valor contenido en cualquiera de ellas.
El objetivo de este artculo es aclarar la mayor cantidad de dudas sobre el tema de
referencias en Excel y ser til para aquellas personas que comienzan a utilizar la
herramienta pero tambin para aquellos que ya tienen un poco de tiempo utilizando la

hoja de clculo y no han escuchado sobre temas como las referencias 3D o el estilo de
referencia F1C1. Los temas de los que hablar en este artculo son los siguientes:

Qu son las referencias en Excel?

Tipos de referencias en Excel

Referencias relativas en Excel

Referencias absolutas en Excel

Referencias mixtas en Excel

Cmo cambiar entre tipos de referencia

Referencias a rangos de celdas

Referencias a celdas en otra hoja

Referencias a celdas en otro libro

Referencias 3D

El estilo de referencia F1C1

Ya que todos los valores de una hoja de clculo estn almacenados en las celdas, es de
suma importancia para los usuarios de Excel conocer la manera en que debern acceder
a dichos valores utilizando las referencias. Sin ms prembulo, comenzaremos con este
estudio de las referencias en Excel.
Qu son las referencias en Excel?

Todo usuario de Excel debe saber que todas las hojas estn divididas en columnas y
filas. Esta divisin se hace evidente en la interfaz grfica de Excel de la siguiente
manera:

Por debajo de la barra de frmulas se encuentran los encabezados de


columna identificados por una letra.

En el extremo izquierdo estn los encabezados de fila que muestran


un nmero.

En el rea de trabajo tenemos una cuadrcula que delimita el rea de


cada celda de la hoja y donde se puede observar que cada una de
ellas pertenece a una determinada columna y fila.

En la imagen anterior, la celda seleccionada (celda activa)es la celda que se encuentra


bajo la columna B y en la lnea 3 y por lo tanto su direccin dentro de la hoja ser B3.
La referencia de una celda siempre constar de dos partes: la primera parte indicar la
letra (o letras) de la columna a la que pertenece y la segunda parte indicar su nmero
de fila.
Excel siempre nos ayudar a conocer fcilmente la referencia de la celda activa. En
primer lugar, el encabezado de la columna y fila de la celda seleccionada estarn
resaltados en un color diferente al resto de los encabezados. Adems el Cuadro de
nombres siempre mostrar la referencia de la celda activa tal como lo puedes observar
en la siguiente imagen:

En conclusin, la referencia de una celda nos indica su ubicacin dentro de una hoja,
es decir, nos ayuda a conocer rpidamente la columna y fila a las que pertenece.
Tipos de referencias en Excel

Una referencia siempre ser la direccin de una celda dentro de una hoja y siempre
estar formada por la columna y fila en donde se ubica la celda. As que, cuando
hablamos de tipos de referencias en Excel estamos hablando sobre los diferentes tipos
de comportamiento que pueden tener las referencias al momento de ser copiadas a otras
celdas.
Es muy fcil copiar frmulas en Excel, pero qu sucede con las referencias de dicha
frmula al momento de hacer la copia? Es ah en donde su comportamiento depender
del tipo de referencia que se haya utilizado y analizaremos las alternativas que tenemos
en las prximas tres secciones.
Referencias relativas en Excel

De manera predeterminada, las referencias en Excel son relativas. El trmino relativo


significa que al momento de copiar una frmula, Excel modificar las referencias en
relacin a la nueva posicin donde se est haciendo la copia de la frmula. Por ejemplo,
supongamos que en la celda C1 tenemos la frmula =A1+B1. En la siguiente imagen
puedes observar el resultado de esta operacin si tenemos los valores 5 y 3 en dichas
celdas:

Si ahora copio (Ctrl+C) la frmula de la celda C1 y la pego (Ctrl+V) en la celda C3,


obtendr el siguiente resultado:

La frmula que ha sido copiada a la celda C3 nos devolver como resultado el valor
cero. Al revisar la frmula de dicha celda nos daremos cuenta que eso se debe a que
Excel ha modificado automticamente las referencias de la frmula. En lugar de la celda

A1 ahora tenemos la celda A3, y en lugar de la celda C1 que tenamos originalmente,


ahora tenemos la celda C3.
En este ejemplo hemos copiado la frmula hacia una celda de la misma columna, pero
dos filas por debajo y eso es lo que indicar a Excel el ajuste a realizar en las
referencias. Ya que no hubo cambio en la columna, sta permanecer igual en la nueva
frmula, pero ya que copiamos una celda que est dos filas hacia abajo, Excel realizar
dicho ajuste sumando la misma cantidad de filas a las referencias. Ahora observa lo que
sucede si vuelvo a copiar la frmula de la celda C1 y la pego en la celda F2.

En esta ocasin la nueva celda se encuentra una fila hacia abajo y tres columnas a la
derecha de la celda original y por lo tanto las referencias se adecan a tal movimiento
aadiendo tres columnas y una fila a cada referencia de la frmula copiada.
Las referencias relativas son muy tiles cuando necesitamos aplicar una misma frmula
sobre un rango de datos. Por ejemplo, en la siguiente imagen puedes ver una hoja donde
las columnas A y B tienen valores numricos y ahora necesito colocar la multiplicacin
de ambos valores en la columna C. Para hacerlo rpidamente, coloco la frmula
=A1*B1 en la celda C1 y posteriormente copio dicha frmula hacia debajo:

De esta manera obtendremos automticamente el resultado correcto para cada fila ya


que Excel modifica las referencias en cada frmula mientras es copiada hacia abajo.

Referencias absolutas en Excel

Hay ocasiones en las que necesitamos fijar la referencia a una celda de manera que
permanezca igual an despus de ser copiada. Si queremos impedir que Excel
modifique las referencias de una celda al momento de copiar la frmula, entonces
debemos convertir una referencia relativa en absoluta y eso lo podemos hacer
anteponiendo el smbolo $ a la letra de la columna y al nmero de la fila de la
siguiente manera:

Si tomamos el primer ejemplo de la seccin anterior y utilizamos la frmula =$A$1+


$B$1 en la celda C1 y posteriormente copiamos dicha frmula a la celda C3,
obtendremos el siguiente resultado:

En este caso la celda C3 devolver el mismo resultado que la celda C1 porque ambas
frmulas hacen referencia a las mismas celdas an despus de haberla copiado.
Tendremos el mismo efecto al copiar la frmula de la celda C1 hacia la derecha:

Al convertir las referencias en absolutas, no importa a donde copiemos la frmula,


dichas referencias permanecern siempre fijas. Para dejar en claro el uso de las
referencias absolutas, supondremos una tabla de datos como la siguiente:

La celda C2 hace el clculo del rea para el primer crculo tomando en cuenta el valor
de Pi que est almacenado en la celda F1. En este momento la referencia a la celda F1
es relativa y si copio la formula hacia abajo obtendr el siguiente resultado:

Al copiar la frmula hacia abajo, Excel modifica la referencia a la celda F1 y le agrega


una fila ms para convertirla en una referencia a la celda F2 que es el comportamiento
natural de las referencias relativas. Para hacer que nuestras frmulas hagan siempre
referencia a la celda F1 debemos transformar dicha referencia en absoluta:

Observa con detenimiento que la nica referencia que he convertido en absoluta es la de


la celda $F$1. La otra referencia a la celda B2 la he dejado como relativa porque
necesito que sea modificada por Excel para tomar el valor del radio de cada crculo
conforme se copie la frmula hacia abajo. El resultado despus de copiar la frmula ser
el siguiente:

Todas las frmulas harn referencia a la celda F1 porque est establecida como absoluta,
pero Excel modificar correctamente las referencias a las celdas de la columna B para
obtener el resultado correcto.
Con esto hemos cubierto los dos tipos de referencias en Excel ms utilizados. Si quieres
ver algunos ejemplos adicionales sobre estos dos tipos de referencias te recomiendo
consultar el siguiente video tutorial: Referencias relativas y absolutas en Excel.
Referencias mixtas en Excel

En los ejemplos anteriores sobre referencias absolutas utilizamos el smbolo $ para


fijar tanto la columna como la fila. Sin embargo, es posible fijar solo la columna o fijar
solo la fila y a estas variaciones se les conoce como referencias mixtas.
Si queremos fijar solamente la columna, anteponemos el smbolo $ a la letra de la
columna y dejamos la fila sin dicho smbolo. Si por el contrario deseamos fijar
solamente la fila, entonces anteponemos el smbolo $al nmero de la fila. En la
siguiente imagen podrs ver un resumen de los tipos de referencias que hemos revisado
hasta ahora:

Si colocas la frmula =$A1 dentro de la celda B1 y copias la frmula hacia la derecha


vers que la frmula se mantiene igual en todas las columnas porque hemos indicado
que deseamos tener la columna $A fija. Por el contrario, si copias la frmula hacia
abajo, Excel modificar el nmero de fila:

Sin embargo, si cambiamos el tipo de referencia mixta de la celda B1 por la frmula


=A$1 y copiamos hacia la derecha y hacia abajo, obtendremos un resultado diferente al
anterior ya que habremos fijado solamente la fila:

Estos son los cuatro tipos de referencias de los cuales puedes elegir al momento de
construir tus frmulas. Recuerda que esta clasificacin se basa en el comportamiento de
la referencia al copiar una frmula.
Cmo cambiar entre tipos de referencia

Un consejo muy til para hacer ms eficiente el tiempo invertido al ingresar cualquier
referencia en una frmula es el uso de la tecla F4 cuando nos encontramos en el modo
de edicin. Cuando el cursor de edicin se encuentra sobre una referencia y pulsamos la
tecla F4, Excel cambiar el tipo de referencia sin la necesidad de que ingresemos
manualmente el smbolo $. Hagamos el siguiente ejemplo para conocer el
funcionamiento de este atajo de teclado:
1. Selecciona la celda B1 e ingresa la frmula =A1 pero no pulses la
tecla Entrar.
2. El cursor de edicin se encontrar parpadeando al final de la
referencia y si pulsas la tecla F4 una vez, la referencia se
transformar automticamente en absoluta =$A$1.
3. Si vuelves a pulsar la tecla F4 tendrs una referencia mixta como
=A$1.
4. Y si pulsas una cuarta vez la tecla F4, la referencia ser cambiada por
la otra opcin de referencia mixta =$A1.
5. Al pulsar una quinta vez la tecla F4 volvers a la referencia relativa
original.

La tecla F4 solamente cambiar la referencia que est sobre el cursor de edicin as que,
si quieres aplicar este cambio en varias referencias de una misma frmula, entonces
debers colocar el cursor sobre cada referencia que ser cambiada y pulsar F4 cada vez.
Referencias a rangos de celdas

Hasta ahora hemos visto cmo hacer referencia a una sola celda, pero Excel nos permite
hacer referencia a un conjunto de celdas adyacentes utilizando el operador de rango que
est representado por los dos puntos (:) y que deber colocarse entre dos referencias de
celdas. Sin embargo, esas dos referencias de celdas no son al azar, sino que deben ser el
extremo superior izquierdo y el extremo inferior derecho de las celdas adyacentes a las
que deseamos referirnos.
Considera el siguiente grupo de celdas adyacentes donde cada una de ellas tiene un
valor numrico. La referencia para este rango de celdas ser B2:D4 y puedes ver que
dicho rango es reconocido por Excel al momento de hacer la suma.

Esto definitivamente es una gran ventaja ya que de lo contrario tendramos que indicar
todas las referencias a las nueve celdas, pero con este mtodo podemos referirnos
fcilmente a todo el rango de celdas. Solo debes recordar que la primera referencia
corresponde a la celda del extremo superior izquierdo y la segunda referencia a la celda
inferior derecha.

En este ejemplo ambas referencias son relativas, pero nada impide que utilicemos
referencias absolutas al crear una referencia a un rango, por ejemplo: $B$2:$D$4. Todas
las reglas que explique anteriormente para las referencias relativas, absolutas y mixtas
tambin aplicarn para las referencias a rangos de celdas.

Referencias a celdas en otra hoja

En todos los ejemplos mostrados hasta este punto he utilizado referencias dentro de la
misma hoja pero en ms de una ocasin nos veremos en la necesidad de hacer referencia
a una celda que se encuentra en una hoja diferente.
La nica regla que debemos seguir es utilizar el nombre de la hoja donde se encuentra la
celda de nuestro inters e inmediatamente colocar el signo de exclamacin () seguido
de la referencia a la celda. De esta manera, si queremos referirnos a la celda C5 de la
Hoja2, debemos hacerlo de la siguiente manera:

Una prctica que es altamente recomendable en las referencias a celdas de otra hoja, es
rodear el nombre de la hoja con comillas simples () ya que eso evitar cualquier error
en caso de que el nombre de la hoja tenga un espacio en blanco, por ejemplo:

Para saber ms sobre este tipo de referencias te recomiendo consultar el artculo Hacer
referencia a celdas de otras hojas en Excel.
Referencias a celdas en otro libro

Si la celda que necesitas acceder se encuentra en otro libro, entonces debers indicar el
nombre del libro encerrado entre corchetes [] antes del nombre de la hoja de la siguiente
manera:

Este tipo de referencia funcionar solamente si el libro especificado est abierto y


adems est guardado en la misma ubicacin que el libro actual. En caso contrario ser
necesario indicar la ruta completa donde se encuentra dicho libro:

Observa que en este ltimo ejemplo el nombre del libro y la hoja, as como la ruta, estn
encerrados entre comillas sencillas lo cual es ampliamente recomendable en caso de
tener espacios en blanco en los nombres de las carpetas de la ruta, o en el nombre del
libro u hoja.

Referencias 3D

Las referencias 3D son tiles cuando necesitamos hacer operaciones con las mismas
celdas en diferentes hojas. Por ejemplo, si vamos a sumar la celda A1 de la Hoja1,
Hoja2 y Hoja3, normalmente utilizaramos la siguiente frmula:
=SUMA(Hoja1!A1, Hoja2!A1, Hoja3!A1)

A diferencia de esta nomenclatura, las referencias 3D nos permiten indicar las mismas
referencias de una manera abreviada:
=SUMA(Hoja1:Hoja3!A1)

Es muy importante mencionar que no es posible utilizar este tipo de referencias con
cualquier funcin de Excel. Las funciones matemticas y estadsticas son las que
permitirn su uso pero no podrs utilizar este tipo de referencias en funciones de
bsqueda como BUSCARV o COINCIDIR.

Adems de acceder una sola celda en varias hojas utilizando las Referencias 3D,
tambin puedes crear una referencia a un rango de celdas de la siguiente manera:
=SUMA(Hoja1:Hoja3!A1:C25)

El estilo de referencia F1C1

Los ejemplos de este artculo han utilizado el estilo de referencia A1 que es el


predeterminado en Excel y que indica que las columnas sern identificadas por una
letra, o combinacin de letras, y que las filas sern identificadas por un nmero. Existe
otro estilo de referencia en Excel, que no es tan comn, pero que es necesario que lo
conozcas por si llegas a encontrar algn equipo donde Excel utiliza el estilo de
referencia F1C1 el cual identifica a las columnas y a las filas por su nmero. As que en
lugar de utilizar letras para las columnas, este estilo de referencia utiliza nmeros para
todas ellas.
Ya que sera difcil distinguir el nmero de la columna del nmero de la fila en una
misma referencia, se antepone la letra F al nmero de la fila y la letra C al nmero
de la columna. Algunos ejemplos de equivalencias en ambos estilos de referencia son
los siguientes:

Para que Excel utilice este tipo de referencia debes ir a Archivo > Opciones > Frmulas
> Trabajando con frmulas > Estilo de referencia F1C1.

Al seleccionar esta opcin y aceptar los cambios, notars de inmediato un cambio en los
encabezados de columna ya que dejarn de ser letras y se mostrarn como nmeros.
Adems podrs observar el estilo de referencia F1C1 en el Cuadro de nombres y ya no
estar permitido utilizar el estilo de referencia anterior.

SI tu libro tena frmulas previamente ingresadas entonces Excel se encargar de


mostrar automticamente las referencias con el nuevo estilo y no ser necesaria tu
intervencin en el cambio. Si quieres regresar al estilo de referencia A1 ser suficiente
con desmarcar la opcin Estilo de referencia F1C1 del cuadro de dilogo Opciones de
Excel.
La verdad es poco probable que alguna vez te veas forzado a utilizar el estilo de
referencia F1C1, pero el concepto de utilizar valores numricos para referirse a las
columnas y filas es muy utilizado al programar en VBA ya que es mucho ms fcil
referirse programticamente a las columnas por su nmero que por su letra.
Conclusin

Es importante que conozcas todos los aspectos de las referencias en Excel ya que
juegan un papel fundamental en el uso de la hoja de clculo y las frmulas. Si
comprendes correctamente su funcionamiento podrs evitar una gran cantidad de
errores, y resultados incorrectos, que se generan en Excel por el uso incorrecto de las
referencias.
Pegar valores en Excel con el teclado

Todos sabemos que el mtodo abreviado de teclado para pegar es CTRL+V, sin
embargo este mtodo en Excel pega todo el contenido de una celda incluyendo su
formato. Si queremos pegar solamente el valor de una celda debemos utilizar el Pegado
especial.
De todas las opciones que existen dentro de Pegado especial, la opcin de pegar Valores
es sin duda la ms utilizada. Ya que utilizamos este comando frecuentemente
deberamos tener un mtodo abreviado de teclado para hacerlo, sin embargo no existe
uno hasta el momento.
Agregar el comando a la barra de herramientas

Una alternativa es agregar a la barra de herramientas de acceso rpido el comando Pegar


valores. Para ello debemos abrir el men Personalizar barra de herramientas de acceso
rpido y seleccionar la opcin Ms comandos.

En la lista de comandos disponibles seleccionamos la opcin Todos los comandos y


buscamos el comando Pega valores y lo agregamos a la barra de herramientas de acceso
rpido.

Para conocer el mtodo abreviado de teclado para este nuevo botn bastar con pulsar la
tecla ALT una sola vez para que Excel muestre la tecla que debemos pulsar:

En este ejemplo, Excel ha asociado el nmero 4 al comando Pega valores dentro de la


barra de herramientas de acceso rpido lo cual indica que podremos utilizar el mtodo
abreviado ALT+4 para pegar valores en Excel con el teclado.
Crear una macro para pegar valores

Otra opcin para pegar valores en Excel con el teclado es crear una macro y asignarle
una tecla de mtodo abreviado. La macro que nos ayuda a pegar valores es la siguiente:
1 Sub PegarValores()
2 Selection.PasteSpecial Paste:=xlValues
3 End Sub

Una vez que hayas creado la macro, abre el cuadro de dilogo Macro (ALT + F8) y en la
lista de macros disponibles selecciona la macro recin creada y pulsa el botn Opciones.
Se mostrar el cuadro de dilogo Opciones de la macro donde podremos asignar una
tecla de mtodo abreviado.

Una vez elegido el mtodo abreviado para la macro podremos ejecutarla con solo pulsar
la combinacin de teclas establecidas.

INICIO

FUNCIONES

ACERCA

Numerar filas automticamente en Excel

Para numerar filas automticamente en Excel tenemos dos alternativas: utilizar el


controlador de relleno o utilizar la funcin FILA. A continuacin te mostrar ambos
mtodos.
Nmeros consecutivos en Excel

Antes de aprender a generar nmeros consecutivos en Excel debemos aprender lo que


es el Controlador de relleno. El controlador de relleno es el pequeo cuadro negro que
est ubicado en la esquina inferior derecha de la celda activa. Observa la siguiente
imagen:

Cuando colocas el puntero del ratn sobre el controlador de relleno, el puntero cambia a
una cruz negra. El controlador de relleno es de mucha utilidad para generar nmeros
consecutivos en Excel y para hacerlo debemos seguir los siguientes pasos:
1. Selecciona la primera celda que tendr un nmero y escribe el valor
inicial. Por ejemplo el nmero 1.
2. En la celda inferior escribe el siguiente valor de la serie lo cual
establecer un patrn de nmeros a seguir. Escribe por ejemplo el
nmero 2.
3. Selecciona ambas celdas y arrastra el controlador de relleno hacia
abajo hasta llegar al nmero que deseas.

Observa la siguiente animacin que dejar claro este procedimiento:

A medida que vamos arrastrando el controlador de relleno, Excel va insertando valores


de acuerdo al patrn previamente establecido. Es por eso que es importante establecer
al menos los dos primeros nmeros de manera que Excel identifique adecuadamente el
patrn a seguir. Por ejemplo, si en las primeras dos celdas coloco los nmeros 2 y 4 al
numerar las filas con el controlador de relleno obtendremos una serie de nmeros
diferente a la anterior:

Numerar filas con la funcin FILA

Otro mtodo que podemos utilizar para numerar filas automticamente en Excel es a
travs de la funcin FILA. Este mtodo mostrar siempre el nmero de la fila de cada
celda por lo que siempre tendremos un incremento lineal. Para este mtodo tambin
utilizamos el controlador de relleno para copiar la misma frmula hacia abajo. Observa
la siguiente animacin:

Una ventaja de utilizar la funcin FILA es que la podemos combinar fcilmente con una
cadena de caracteres para generar nmeros consecutivos alfanumricos.

Inclusive la funcin FILA nos puede ayudar a generar cdigos de nmeros consecutivos
muy especficos como 000-001, 000-002, etc. Estos nmeros pueden ser de mucha
utilidad para indicar cdigos de productos o nmeros de orden de compra. Para obtener
este tipo de numeracin de filas debemos utilizar la siguiente frmula:
=TEXTO(FILA(), "000-000")

Observa el resultado de esta frmula:

Convertir frmulas en valores en Excel

Hay ocasiones en las que despus de realizar algn clculo con los datos de nuestra hoja
necesitamos reemplazar las frmulas por sus valores de manera que dicho valor
permanezca fijo y no vuelva a cambiar al momento de actualizar los clculos de la hoja.
En esta ocasin te mostrar tres mtodos para realizar esta conversin en Excel
incluyendo la creacin de una macro para automatizar dicha tarea.
Primero har un ejemplo para dejar en claro la problemtica a la que me refiero.
Supongamos que en la celda B1 de mi hoja necesito insertar la fecha y hora actuales
utilizando la funcin AHORA.

Todo funciona perfectamente hasta que cierro el libro y lo vuelvo a abrir ya que en ese
momento la funcin AHORA actualizar automticamente el valor de la celda B1 con
un valor de hora diferente.

Esta actualizacin automtica tambin suceder si se vuelven a calcular las frmulas del
libro es decir, cuando se introduce una nueva frmula en cualquier celda del libro o
cuando se pulsa la tecla F9. As que, para fijar el valor de la celda B1 ser necesario
convertir la frmula en valor y eso ser precisamente lo que trataremos en las siguientes
secciones.
Convertir frmulas en valores con Pegado Especial

El primer mtodo que te mostrar para convertir frmulas en valores en Excel


funciona con el Pegado Especial y es muy fcil de utilizar. Todo comienza por
seleccionar la celda que contiene la frmula y pulsamos la combinacin de teclas
Ctrl+C o tambin podemos hacer clic en el botn Copiar.

Sin moverse de la celda seleccionada, pulsamos la combinacin de teclas Ctrl+V, o


tambin puedes hacer clic en el botn Pegar, y de inmediato se mostrar el icono de las
Opciones de pegado y debers hacer clic en la flecha para desplegar todas las opciones
y hacer clic en Solo valores.

Una vez que hayamos pegado los valores habr desaparecido la frmula de la celda B1
y tendremos solamente un valor, as que sin importar que se vuelvan a calcular las
frmulas del libro o que volvamos a cerrar y abrir el libro, el valor de la celda B1
permanecer exactamente igual. En la siguiente imagen puedes observar cmo la barra
de frmula ya no muestra la funcin AHORA para la celda B1 sino que muestra un
valor fijo.

De la misma manera en que he copiado y pegado la celda B1 es posible copiar y pegar


varias celdas al mismo tiempo de manera que podamos reemplazar todas las frmulas
por valores en un solo paso. Por ejemplo, en la siguiente imagen puedes ver que la
columna Nombre completo hace una concatenacin de los valores en las columnas
Nombre y Apellido.

Para reemplazar todas las frmulas de la columna Nombre completo ser suficiente con
seleccionar el rango C4:C6, copiar las celdas y volverlas a pegar sobre s mismas
asegurndonos de elegir la opcin Solo valores.

De esta manera habrs convertido tres frmulas a sus respectivos valores en un solo
paso y este mismo mtodo lo podrs utilizar con cuantas celdas sea necesario.
Convertir frmulas en valores con F9

El segundo mtodo que puedes utilizar para convertir frmulas en valores es pulsar la
tecla F9 al momento de estar introduciendo la frmula o al momento en que la ests
editando. En la siguiente animacin te muestro cmo hacer esta conversin al momento
de introducir una frmula.

En este ejemplo he pulsado la tecla F9 justamente en el momento en que he terminado


de introducir la frmula pero tambin es posible hacerlo cuando la frmula ya ha sido
introducida previamente y para eso debers editar la frmula y pulsar la tecla F9. Es
importante recordar que este mtodo funciona solamente cuando ests en el modo de
edicin de una frmula y por lo tanto podrs convertir solo una frmula a la vez.

Macro para convertir frmulas en valores

Si eres de los usuarios que continuamente estn convirtiendo frmulas en valores en


Excel, te sugiero crear una macro para realizar dicha conversin con un atajo de teclado
y de esa manera hacer ms eficiente el uso de tu tiempo. Para crear este macro ir a la
ficha Programador y abrir el Editor de Visual Basic y posteriormente seleccionar la
opcin Insertar > Mdulo y pegar el siguiente cdigo:
1 Sub ConvertirFormulas()
2
3

'Copiar la seleccin de celdas

Selection.Copy

5
6

'Pegado Especial utlizando xlPasteValues

Selection.PasteSpecial Paste:=xlPasteValues

8
9

'Salir del modo de copiado

10

Application.CutCopyMode = False

11
12

End Sub

Una vez copiado el cdigo debers guardar la nueva macro haciendo clic en el botn
Guardar de la barra de herramientas del Editor de Visual Basic.

Una vez guardados los cambios podrs cerrar la ventana del Editor y entonces asignar el
atajo de teclado a la nueva macro para lo cual debers ir a la ficha Vista en Excel y
pulsar el botn Macros.

Despus de seleccionar la macro recin creada debers pulsar el botn Opciones el cual
mostrar un nuevo cuadro de dilogo donde podremos asociar un atajo de teclado. Para
este ejemplo ser la combinacin de teclas CTRL+k tal como se muestra en la siguiente
imagen:

Debers pulsar el botn Aceptar para cerrar este cuadro de dilogo y posteriormente
pulsar el botn Cancelar para cerrar el cuadro de dilogo anterior. Para probar la macro
ser suficiente con seleccionar el rango C4:C6 y pulsar la combinacin de teclas
CTRL+k para convertir las frmulas en valores.

En el archivo de descarga he dejado las frmulas tal como las ves en la imagen anterior
de manera que puedas probar este comportamiento por ti mismo.
En esta ocasin hemos revisado tres alternativas para convertir frmulas en valores en
Excel ya sea utilizando la opcin de Pegado Especial, o pulsando la tecla F9 al
momento de ingresar o editar una frmula, o a travs de una macro la cual nos permitir
realizar la conversin utilizando un atajo de teclado.

Calendario 2015 en Excel


Uno de los recursos ms solicitados en Excel Total es el calendario anual que tiene
como objetivo el ayudar a todos los usuarios a organizar y planear las actividades del
ao. Hoy ha llegado el momento de publicar el calendario 2015 en Excel que, al igual
que las versiones anteriores, ser de utilidad para recordar todas las fechas importantes.
Al final de este artculo encontrars el vnculo de descarga del archivo ZIP que debers
descomprimir antes de poder acceder a los archivos Excel que contienen el calendario
2015. Pero antes de hacerlo te sugiero leer las siguientes recomendaciones.

Tipo de archivo del calendario 2015


Las versiones anteriores del calendario han sido implementadas utilizando Libros de
Excel tradicionales (XLSX), pero el calendario 2015 hace uso de macros por lo que ha
sido creado en un Libro de Excel habilitado para macros (XLSM) que al abrirlo
mostrar algunas advertencias. Si ests utilizando Excel 2010 o superior, es muy
probable que la primera advertencia sea para indicar la activacin de la Vista protegida.
Si se muestra dicha advertencia debers hacer clic en el botn Habilitar la edicin y en
seguida se mostrar una segunda advertencia indicando que las macros han sido

deshabilitadas. Para tener la funcionalidad completa del calendario debers pulsar el


botn Habilitar contenido.

Si ests utilizando Excel 2007, debers hacer clic en el botn Opciones y posteriormente
elegir la opcin Habilitar este contenido. Una vez que hayas realizado estas acciones
tendrs disponible todas las mejoras realizadas a la nueva versin del calendario 2015
en Excel.

Mejoras al calendario 2015 en Excel


La primera mejora implementada en el calendario 2015 es la inclusin de categoras
para los das festivos del ao de manera que exista una distincin visual entre cada uno
de ellos. De manera predeterminada he incluido las categoras Festivo (Verde),
Aniversario (Azul), Vacaciones (Amarillo), Importante (Anaranjado) y Fecha lmite
(Rojo).

Sin duda esta mejora ser de gran ayuda para identificar visualmente cualquier fecha
importante. Lo mejor de todo es que la asignacin de la categora se har en un solo
lugar y se replicar automticamente en todos los calendarios disponibles. Ms adelante
explicar con detalle lo sencillo que es asignar una categora para cualquier da del ao
as como algunas opciones de personalizacin de estas categoras.
La segunda mejora en el calendario 2015 es la insercin automtica de comentarios para
cualquier da del ao y es la razn por la cual se utilizan las maros. Por ejemplo, si para
el da 1 de enero del 2015 elijo la categora Festivo y adems proporciono el comentario
Ao Nuevo, dicho texto ser insertado automticamente como un comentario en la
celda para dicho da y ser mostrado al momento de colocar el puntero del ratn sobre la
celda:

Esta insercin de comentario se hace automticamente con una macro y de igual manera
se encargar de actualizar o de eliminar los comentarios al momento de indicarlo en la
hoja correspondiente. En las prximas secciones explicar con detenimiento la manera
de elegir una categora y de indicar este tipo de comentarios para cualquier da del ao.

Calendario 2015 para imprimir


La primera hoja del libro Excel, llamada Completo, es la versin del calendario 2015
que nos permitir imprimir todos los meses del ao en una sola hoja con orientacin
vertical.

Como ya lo mencion en la seccin anterior, este calendario reflejar automticamente


los diferentes colores para aquellos das que tengan una categora especial y adems
desplegar los comentarios de celda para los das donde los hayamos especificado.

Calendario 2015 por meses


La segunda hoja del libro te permitir imprimir de manera individual cada uno de los
meses del calendario 2015 en una hoja con orientacin horizontal.

A diferencia del formato anterior, en este calendario por meses cada da del ao est
dividido en dos celdas. La celda superior es la que contiene la fecha para cada da y ser
la celda a la que se aplicar el color de relleno de acuerdo a la categora seleccionada as
como el comentario en caso de tenerlo .

La celda inferior de cada da es de libre captura y podrs insertar cualquier texto que te
ayude a organizar y mantener el control de las actividades del da.

Mini calendario 2015 en Excel


La hoja Mini contiene el mini calendario 2015 que imprime todos los das del ao en
una tabla horizontal de tan solo 13 filas lo cual permite tener una visin diferente de
todos los meses del ao. Al igual que los calendarios anteriores, podrs identificar
fcilmente aquellos das que tengan alguna categora especial as como sus respectivos
comentarios.

La hoja Diario del calendario 2015


La cuarta hoja del calendario 2015 en Excel es totalmente nueva y es el lugar donde
podremos elegir una categora e insertar algn comentario para cualquier da del ao.
Esta hoja consta de tres columnas: La columna Fecha que es una lista de los 365 das
del ao y que no deber ser modificada. La columna Categora es el lugar donde podrs
elegir de la lista desplegable alguna de las 5 categoras posibles para cada da.

Al elegir alguna de las categoras, automticamente se aplicar el color de fondo


correspondiente a la celda de la columna Fecha y al mismo tiempo se aplicar el color
de fondo en las hojas Completo, Mensual y Mini para el mismo da. En cualquier
momento podrs cambiar la seleccin y reflejar automticamente el cambio de color en
todos los calendarios. Te recuerdo que de manera predeterminada las categoras tienen
asignados los siguientes colores:

Festivo Verde

Aniversario Azul

Vacaciones Amarillo

Importante Anaranjado

Fecha lmite Rojo

Si quieres remover la categora de algn da ser suficiente con seleccionar dicha celda
y pulsar la techa Suprimir. Por ltimo, la tercera columna de la hoja Diario nos permite
indicar el comentario que ser insertado en los calendarios de las hojas Completo,
Mensual y Mini.

Es as como la hoja Diario nos permitir elegir la categora de cada da del ao y por lo
tanto su color de relleno, as como los comentarios que sern insertados
automticamente en los diferentes calendarios. Finalmente debo decir que para eliminar
un comentario ser suficiente con seleccionar la celda correspondiente bajo la columna
Comentarios de la hoja Diario y pulsar la tecla Suprimir.

La hoja Configuracin del calendario 2015


El calendario 2015 en Excel tiene de manera predeterminada 5 categoras para cada da
del ao y cada una de ellas tiene un color asignado. La hoja Configuracin te permitir
cambiar la descripcin de cada categora en caso de necesitarlo y dicho cambio debers
hacerlo bajo la columna Categora.

Por ejemplo, si deseas renombrar las categoras por el nombre de cada color, la tabla
quedar de la siguiente manera:

Esto ocasionar que en la hoja Diario, al momento de elegir una categora para
cualquier da, la lista de nombres disponibles muestre los cambios hechos en la hoja
Configuracin.

Es importante tener cuidado con la hoja Configuracin ya que es necesario mantener sin
cambios la columna ID porque dicho identificador es utilizado para actualizar el color
de relleno en los diferentes calendarios. Por otro lado, la columna Color solamente se
muestra con motivos ilustrativos y el hecho de cambiar el color de relleno de esas celdas
no ocasionar un cambio en los colores asignados a las categoras.
Si deseas hacer un cambio en los colores asignados a las categoras, o agregar categoras
nuevas, ser necesario hacer algunos ajustes avanzados dentro del libro los cuales
explicar en la siguiente seccin pero que solo recomiendo si tienes experiencia
trabajando con formatos condicionales.

Ajustes avanzados del calendario 2015


Los colores de relleno de las diferentes categoras son aplicados a todos los calendarios
a travs del uso de reglas de formato condicional. De manera predeterminada el
calendario 2015 tiene predefinidas 5 categoras y por lo tanto cada hoja del libro tiene 5
reglas de formato condicional. Si deseas cambiar el color utilizado por alguna categora,
debers cambiar el color de relleno de la regla de formato condicional correspondiente
dentro de cada hoja del libro.

La imagen anterior muestra el Administrador de reglas de formato condicionales para la


hoja Completo y puedes observar las 5 reglas para las diferentes categoras. Para
cambiar el color de una categora debers editar la regla de formato condicional
correspondiente y elegir el nuevo color de relleno. Este cambio lo debers realizar en
cada una de las hojas.

Si por el contrario deseas agregar una nueva categora al calendario, debers comenzar
por agregar su descripcin en la hoja Configuracin. Por ejemplo, en la siguiente
imagen he agregado la categora Celebracin con el identificador 6 y un color prpura.

Recuerda que el color indicado en esta hoja es solamente ilustrativo y solo es til para
recordar el color asignado a la categora pero no tiene efecto alguno sobre el calendario.
El siguiente paso ser crear una nueva regla de formato condicional dentro de cada hoja
del libro indicando una frmula similar a la siguiente:
=SI.ERROR(INDICE(DiasCategorias, B5-FechaInicio+1),0)=6

Observa que al final de la frmula est indicado el nmero 6 que es el identificador


asignado a la nueva categora en la hoja Configuracin. Las reglas de formato
condicional en las dems hojas sern muy similares y tambin debern ser igualadas al
nmero 6 pero te recomiendo tomar como base las frmulas de las reglas ya existentes
en cada hoja porque no todas las frmulas hacen referencia a la celda B5, sino que se
usa la celda C3 o la celda A2 dependiendo de la ubicacin donde inician las celdas con
las fechas para cada hoja.

Con estos dos ajustes habrs creado una nueva categora dentro del calendario 2015 y al
momento de elegirla dentro de la hoja Diario se aplicar el color de relleno
correspondiente en los calendarios de las diferentes hojas.

Descarga el calendario 2015 en Excel


Al igual que en otras ocasiones, al descargar el archivo comprimido encontrars dos
versiones del calendario. Una versin considera la semana de Domingo a Sbado y la
otra versin es para una semana de Lunes a Domingo.
Agrupar por fechas una tabla dinmica

Podemos agrupar por fechas una tabla dinmica con tan solo seguir algunos pasos
sencillos. Supongamos que tengo una tabla de datos que contiene las ventas de
diciembre del 2011 y de enero del 2012 de la siguiente manera:

Despus de crear una tabla dinmica basada en este rango de datos obtenemos el
siguiente resultado:

Los datos en la tabla dinmica se ven exactamente igual que el rango de datos origen
porque no hemos agrupado por fechas.
Agrupar por fechas una tabla dinmica

Para agrupar por fechas una tabla dinmica debemos hacer clic derecho en cualquier
celda de la columna de fechas y seleccionar la opcin de men Agrupar. Se mostrar el
cuadro de dilogo Agrupar.

En este cuadro de dilogo debes seleccionar las opciones Meses y Aos de manera que
la tabla dinmica haga una clara distincin entre los meses de 2011 y 2012. Al pulsar el
botn Aceptar tendremos los datos agrupados por fecha.

Para desagrupar los datos debemos hacer clic derecho sobre una celda de la columna de
fechas y seleccionar la opcin Desagrupar.
Uso de nombres en Excel

Cuando hacemos referencia a una celda utilizamos su direccin: columna y fila, pero
Excel nos permite crear nombres para referirnos a esa misma celda o rango de celdas.
Despus de definir un nombre lo podremos utilizar dentro de nuestras frmulas.
Crear un nombre en Excel

La manera ms sencilla de crear un nombre es utilizar el cuadro de nombres que se


encuentra en la barra de frmulas. El procedimiento es muy simple, solamente
seleccionamos la celda y escribimos su nombre dentro del cuadro de nombres:

Lo mismo podemos hacer para un rango de celdas. Selecciona todas las celdas del rango
y escribimos su nombre:

El Administrador de nombres en Excel

Una vez que hayas creado varios nombres podrs administrarlos utilizando el
Administrador de nombres. Este comando lo encontrars en la ficha Frmulas dentro del
grupo Nombres definidos. Al pulsar el botn se mostrar el cuadro de dilogo
Administrador de nombres:

Desde este cuadro de dilogo podrs editar y eliminar los nombres previamente creados.
Tambin podrs crear nuevos nombres al pulsar el botn Nuevo.
Utilizar los nombres en Excel

Podemos utilizar los nombres en Excel dentro de nuestras frmulas y de esta manera
hacer que la frmula sea ms fcil de entender. En el siguiente ejemplo calcular el
porcentaje de comisin que le corresponde a Anglica por las ventas realizadas durante
el primer trimestre del ao:

Observa que en la frmula he utilizado la funcin SUMA para obtener el total de las
ventas. La frmula SUMA(Ventas) equivale a tener la frmula SUMA(B4:B6) pero ya
que dicho rango tiene un nombre asignado puedo utilizarlo en lugar de la direccin.
Finalmente el resultado de la suma es multiplicado por el nombre Comisin que
corresponde a la celda B1.

De esta manera podemos decir que la frmula


=SUMA(Ventas) * Comisin

es equivalente a tener la siguiente frmula


=SUMA(B4:B6) * B1

El uso de nombres en Excel nos facilitar la compresin de las frmulas dentro


nuestras hojas y sern de ayuda para cualquier otra persona que necesite revisar o
auditar nuestras frmulas. Utiliza esta propiedad de Excel para mejorar tu productividad
con la herramienta.

La declaracin If-Then en VBA


En ocasiones necesitamos ejecutar algunas lneas de cdigo de nuestra macro solamente
cuando alguna condicin se haya cumplido. La declaracin If-Then nos permite
validar una condicin para tomar una decisin adecuada.
La sentencia If-Then en VBA es la ms bsica de todas las declaraciones de control de
flujo que son aquellas declaraciones que nos permiten tomar decisiones en base a una
condicin. Esta declaracin la podemos traducir como Si-Entonces y la utilizaremos en
situaciones donde necesitamos realizar la siguiente evaluacin: Si se cumple la
condicin Entonces haz esto.

Ejemplo de la declaracin If-Then


Para probar el funcionamiento de la declaracin If-Then inserta un botn de comando
(Control ActiveX) en una hoja de Excel y haz doble clic sobre l para colocar el
siguiente cdigo:

En el primer paso se hace la declaracin de las variables que utilizar en el resto


del cdigo.

En el segundo paso asigno el valor de la celda A1 a la variable calificacin.

El tercer paso contiene la declaracin If-Then y que prueba Si el valor de la


variable calificacin es mayor o igual a 60. En caso de ser verdadero Entonces
se asigna el valor Aprobado a la variable resultado.

El ltimo paso es asignar el valor de la variable resultado a la celda B2.

Ahora observa el resultado al ejecutar esta macro.

La declaracin If-Then-Else
Parece que todo funciona muy bien en el cdigo anterior pero an lo podemos mejorar
agregando la declaracin Else de manera que tengamos una declaracin de la forma IfThen-Else. Esta variante nos permite hacer la siguiente evaluacin: Si se cumple la
condicin Entonces haz esto De lo contrario haz otra cosa.
La declaracin Else en VBA nos permite indicar otro bloque de instrucciones que se
deben ejecutar en caso de que la condicin sea falsa. De esta manera podemos tomar
una accin determinada en caso de que la condicin se cumpla o en caso de que no se
cumpla. Ahora modificar el ejemplo anterior para asegurarme de que en caso de que la
condicin de calificacin mayor o igual a 60 no se cumpla se despliegue el resultado
reprobado. Observa el siguiente cdigo.

En el tercer paso puedes observar la declaracin If-Then-Else. Ahora observa el efecto


de este cambio al momento de ejecutar el cdigo:

Por ltimo quiero que observes que en este segundo ejemplo la declaracin If-ThenElse termina con la declaracin End If. Siempre que utilicemos la declaracin If-Then o
la declaracin If-Then-Else debemos terminar con End If.
La nica ocasin donde no se termina con End If es cuando la declaracin If-Then se
puede colocar en una sola lnea como es el caso del primer ejemplo de este artculo.
Ejemplo de casilla de verificacin en Excel

Las casillas de verificacin permiten al usuario seleccionar un valor, o desmarcarlo,


con tan solo hacer clic sobre la casilla. A continuacin veremos un ejemplo de uso del
Control ActiveX casilla de verificacin en Excel.
El ejemplo que desarrollaremos en esta ocasin es el siguiente. Cierta empresa
organizadora de eventos necesita crear un formato en Excel para capturar el nombre de
los asistentes a su prximo congreso.
En este formato se desea tener una casilla de verificacin que indicar si la persona
cuenta con una membresa en cuyo caso el costo del evento ser diferente. De esta

manera, al seleccionar la casilla de verificacin necesitamos modificar el costo del


evento para cada asistente. Observa la siguiente imagen.

En la celda B3 tenemos el costo normal del evento y en la celda B4 el costo del evento
con membresa. Las casillas de verificacin estn bajo la columna Miembro y el precio
del evento se muestra bajo la columna Costo. En caso de seleccionar la casilla de
verificacin el valor del costo deber modificarse por el valor de la celda B4.
Vincular casilla de verificacin a una celda

El primer paso ser vincular la casilla de verificacin a una celda. Para ello abrimos las
propiedades de cada control y especificamos la celda a la que quedar vinculada en la
propiedad LinkedCell.

En la imagen superior puedes notar que el control ChecBox1 ha quedado vinculado a la


celda E8. De la misma manera hacemos para los otros controles vinculndolos a celdas

diferentes. En la siguiente imagen puedes ver que todas las cajas de verificacin han
quedado vinculadas a una celda:

Cuando una casilla de verificacin est seleccionada, la celda vinculada mostrar el


valor VERDADERO, de lo contrario mostrar el valor FALSO. De hecho, si modificas
directamente el valor de la celda vinculada entre FALSO y VERDADERO, vers
tambin reflejado el cambio en la casilla de verificacin sin necesidad de que hayas
hecho clic sobre el control.
Crear frmula utilizando celda vinculada

Ya que las celdas vinculadas nos avisan si la casilla de verificacin est o no


seleccionada, las podemos utilizar para crear una frmula que determine el costo que se
debe seleccionar. La frmula a utilizar en la celda C8 es la siguiente:
=SI(E8, $B$4, $B$3)
La funcin SI nos ayuda a validar si la celda vinculada tiene un valor FALSO o
VERDADERO. Si es FALSO, entonces se mostrar el precio normal (B4), pero si es
verdadero quiere decir que la casilla de verificacin est seleccionada y por lo tanto
debemos mostrar el precio de membresa (B5). Observa el resultado de la frmula
cuando la casilla de verificacin est seleccionada:

Ejemplo de casillas de verificacin

Finalmente ocultar la columna E para que no se vean las celdas vinculadas y colocar
la frmula de suma en la celda C11 para mostrar el costo total. Observa el
comportamiento de la columna Costo y la suma total al momento de seleccionar las
casillas de verificacin.

Casilla de verificacin en VBA

Una casilla de verificacin es un control ActiveX que podemos utilizar para permitir
que un usuario marque una opcin y por lo tanto poder conocer sus preferencias al
verificar dicho valor en cdigo VBA.
El control ActiveX casilla de verificacin

Para insertar este control debemos ir al comando Insertar y seleccionar la opcin


Casilla de verificacin (Control ActiveX).

Despus de dibujar este control tendrs el siguiente resultado:

Propiedades de una casilla de verificacin

La primera propiedad que desearas modificar de una casilla de verificacin 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:

La otra propiedad de una casilla de verificacin 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 propiedad Value:

Valor de una casilla de verificacin

Una casilla de verificacin 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 lnea de cdigo coloca el valor de la casilla de verificacin en la celda C4. De esta
manera, al seleccionar la casilla de verificacin obtendr el siguiente resultado:

Para validar en VBA si la casilla de verificacin tiene un valor u otro podemos utilizar
un cdigo como el siguiente:
If CheckBox1.Value = True Then Range("C4").Value = 1
If CheckBox1.Value = False Then Range("C4").Value = 0

La primera lnea valida si el control ActiveX tiene un valor verdadero y de ser as


coloca el nmero 1 en la celda C4. Si la casilla de verificacin no ha sido seleccionada
(falso) entonces colocar el nmero cero en la celda C4.
La cmara fotogrfica de Excel

La cmara fotogrfica de Excel nos permite capturar una imagen de un rango de


celdas para despus poder insertarla en alguna otra parte de la hoja o del libro pero con
la ventaja de que no sern imgenes estticas sino dinmicas.
Encontrar la cmara fotogrfica

De manera predeterminada Excel 2010 no muestra la cmara fotogrfica as que


debemos personalizar la barra de herramientas de acceso rpido para agregar dicho
comando.
Una vez que hayas abierto el cuadro de dilogo Opciones de Excel, que se encuentra en
la ficha Archivo, debes ir a la seccin Barra de herramientas de acceso rpido y
seleccionar la opcin Comandos que no estn en la cinta de opciones y desplazarte en la
lista de comandos hasta encontrar el comando Cmara.

Al pulsar el botn Agregar se aadir el comando Cmara a la Barra de herramientas


de acceso rpido.
Usar la cmara fotogrfica en Excel

Para ejemplificar el uso de la cmara fotogrfica en Excel haremos el siguiente


ejemplo. Tengo un rango de datos que quiero copiar, pero necesito que dicha copia se
actualice automticamente al realizar una modificacin en los datos originales. El
primer paso es seleccionar las celdas que contienen los datos.

El segundo paso ser pulsar el comando Cmara, el cual tomar la fotografa de las
celdas seleccionadas y nos permitir pegar la imagen en cualquier otra rea de la misma
hoja o en otra hoja del libro con tan solo hacer clic. Observa cmo realizo esta accin:

Puedes notar que Excel trata este elemento como una imagen ya que nos permite rotarla
e inclusive cambiarla de tamao. Tambin podrs observar que al seleccionarla se
mostrar la ficha contextual Herramientas de imagen sin embargo no es cualquier
imagen. Observa cmo al modificar los datos en la tabla original, se actualiza la
informacin dentro de la imagen:

En este ejemplo he pegado la imagen de la cmara fotogrfica en la misma hoja, sin


embargo puedes pegarla en otra hoja distinta y obtener el mismo resultado en la
actualizacin de los datos.