30 Macros Útiles y Sencillas - Resaltar Celda Activa Parte 1

6
30 Macros Útiles y Sencillas: Resaltar Celda Activa Parte 1 Vamos a empezar esta serie de artículos con el tema de Macros donde veremos la aplicación de 30 de ellas las cuales nos pueden servir para contar con archivos de Excel más adaptado a nuestras necesidades. En esta primera entrega vamos a ver cómo podemos resaltar la celda en la que nos estemos ubicados; para ello la idea es colorear toda la fila con lo cual tendremos una mejor vista de una base de datos a la hora de recorrer la hoja Excel. Tenemos la siguiente base de datos: Observemos que por la gran cantidad de datos se hace un poco complicado saber cuáles son los valores que están en las demás columnas a la derecha de la celda activa D10. Es en este tipo de casos donde nos es útil resaltar toda la fila de la celda que tenemos activa. Ingresamos al Editor de Visual Basic y para ello desde la hoja sobre la que queremos el resultado utilizaremos la combinación de teclas Alt + F11:

Transcript of 30 Macros Útiles y Sencillas - Resaltar Celda Activa Parte 1

Page 1: 30 Macros Útiles y Sencillas -  Resaltar Celda Activa Parte 1

30 Macros Útiles y Sencillas: Resaltar Celda Activa Parte 1 Vamos a empezar esta serie de artículos con el tema de Macros donde veremos la aplicación de 30 de ellas las cuales nos pueden servir para contar con archivos de Excel más adaptado a nuestras necesidades.

En esta primera entrega vamos a ver cómo podemos resaltar la celda en la que nos estemos ubicados; para ello la idea es colorear toda la fila con lo cual tendremos una mejor vista de una base de datos a la hora de recorrer la hoja Excel. Tenemos la siguiente base de datos:

Observemos que por la gran cantidad de datos se hace un poco complicado saber cuáles son los valores que están en las demás columnas a la derecha de la celda activa D10. Es en este tipo de casos donde nos es útil resaltar toda la fila de la celda que tenemos activa.

Ingresamos al Editor de Visual Basic y para ello desde la hoja sobre la que queremos el resultado utilizaremos la combinación de teclas Alt + F11:

Page 2: 30 Macros Útiles y Sencillas -  Resaltar Celda Activa Parte 1

En este ejemplo, damos doble clic en Hoja1 (BD):

Vemos entonces que en la parte derecha del Editor de Visual Basic esta en modo de edición donde ya podemos digitar los códigos que necesitemos programar y de esta manera, los códigos que ingresemos serán aplicados directamente sobre la Hoja1 llamada BD.

Bien, ahora que ya estamos más familiarizados con algunos conceptos referentes a la programación de Excel (Visual Basic, Objetos, Ventana de Proyectos, etc.) vamos a realizar la macro para colorear la ceda activa.

En el espacio de edición de Código pegamos el siguiente código:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

On Error Resume Next

Target.EntireRow.Interior.ColorIndex = 42

End Sub

La primera y última línea es marcan el inicio y el final de la macro respectivamente. La primera línea es el código con el que debemos iniciar cualquier macro que necesitemos se ejecute al momento de presentarse un cambio en la hoja Excel; un cambio es por ejemplo ingresar un valor en una celda, eliminar una fila, o seleccionar una celda. Así que al

Page 3: 30 Macros Útiles y Sencillas -  Resaltar Celda Activa Parte 1

momento de seleccionar una celda, Excel activa esta macro y ejecuta los códigos que tengamos dentro de esta hasta la última línea End Sub la cual marca el final de la macro.

La segunda línea también la vamos a tener siempre pues lo que hace es que ante un error en la programación de la macro, evite detenerla abruptamente y que en lugar de un mensaje de error que muestra Excel a nivel técnico, simplemente termine la ejecución de la macro.

La tercera línea que nos queda, es con la cual estamos asignando el color a toda la fila de la celda activa. El valor 42 que esta al final de esta línea es un código numérico de un color de Excel. Veamos el resultado:

La celda activa es E9, por tanto la macro colorea toda la fila 9. Ahora seleccionemos la celda H15 y veamos el resultado:

Vemos que ahora nos colorea toda la fila 15 pero, nos dejó coloreada también la fila en la que estábamos ubicados anteriormente lo cual no es necesario ya que solo necesitamos que resaltar la celda activa; asi que vamos nuevamente al Editor de Visual Basic para ajustar la macro que tenemos donde debemos colocar el siguiente código:

Cells.Interior.ColorIndex = 0

Este código lo pegamos antes de la línea que colorea la fila de la celda activa:

Page 4: 30 Macros Útiles y Sencillas -  Resaltar Celda Activa Parte 1

Lo que hace este código es que al momento de seleccionar otra celda de la hoja, toma todas las celdas de la hoja y las deja sin color, esto ocurre al dar el valor 0 y luego de esto, pasa a ejecutar la siguiente línea para aplicarse el color a toda la fila de la celda seleccionada. Vamos a Excel y veamos el resultado al seleccionar la celda F11:

Ahora al seleccionar la celda D5:

Y al seleccionar varias filas:

Page 5: 30 Macros Útiles y Sencillas -  Resaltar Celda Activa Parte 1

Con esto queda lista la Macro. En caso de que deseen cambiar el color con el que estamos resaltando toda la fila de la celda activa, solo debemos cambiar el valor 42 en el código

Target.EntireRow.Interior.ColorIndex = 42