Resaltar fila y columna de la celda activa

Vamos a continuar con la práctica de la celda activa pero esta vez para resaltar con un color, tanto la fila como la columna de la celda activa.

Abrimos el editor de Visual Basic (Alt + F11) y damos doble clic sobre la Hoja1 en el explorador de proyectos para activar el espacio de edición de macros en el editor:

Nos vamos a ubicar en el espacio de edición de macros y copiamos el siguiente código:

Sub ResaltarFilayColumnadeCeldaActiva()

'Esta macro aplica color a toda la Fila y Columna de la celda activa y deja las demas sin color

Dim NroFila As Integer

Dim NroColumna As Integer

 

NroFila = ActiveCell.Row

NroColumna = ActiveCell.Column

Cells.Select

Selection.Interior.ColorIndex = xlNone

Rows(NroFila).Select

Selection.Interior.ColorIndex = 3

Columns(NroColumna).Select

Selection.Interior.ColorIndex = 3

End Sub

Veamos la interpretación de cada línea.

  1. La primera línea Sub ResaltarFilayColumnadeCeldaActiva (), indica el inicio y nombre de la macro ResaltarFilayColumnadeCeldaActiva.
  2. La segunda línea que iniciar con una coma sencilla es un comentario informativo para identificar más fácil lo que realizará la macro y en el Editor VB se marcará en color verde toda la línea.
  3. La tercera línea es la tipificación de la variable NroFila en la cual vamos a guardar el número de la Fila de la celda activa y por tanto definimos esta variable como Integer pues vamos a guardar en ella un número entero.
  4. La cuarta línea es la tipificación de la variable NroColumna en la cual vamos a guardar el número de la Columna de la celda activa y por tanto definimos esta variable como Integer pues vamos a guardar en ella un número entero.
  5. La quinta línea es donde guardamos en la variable NroFila el número de la fila de la celda activa (Row).
  6. La sexta línea es donde guardamos en la variable NroColumna el número de la columna de la celda activa (Column).
  7. Con la séptima línea lo que estamos realizando es la selección de todas las celdas de la hoja para luego quitar el color que pueda tener cualquier celda.
  8. Es en la línea 8 donde utilizamos el mismo código que hemos utilizado para aplicar color pero esta vez es para dejar sin color todas las celdas que ya seleccionamos con la instrucción xlNone.
  9. Con la línea 9 lo que estamos realizando es seleccionar una fila, pero cuál?, es aquí donde tiene un poco más de valor el uso de las variables. Resulta que el código para seleccionar una fila, por ejemplo la fila 14 sería Rows(14).Select, pero como la idea es resaltar toda la fila de cualquier celda que seleccionemos previamente, no podemos indicar el número de la fila sin el uso de una variable; así que si por ejemplo seleccionamos la celda B14 o D14 o G14, primero guardamos en la variable NroFila el número de la fila con el código de la línea 4 y luego utilizamos esta misma variable NroFila en el código de selección de toda la Fila, es decir Rows(NroFila).Select donde NroFila ya tiene almacenado el número de la fila de la celda activa.
  10. Con la línea 10 lo que hacemos es aplicar color a la fila que acabamos de seleccionar en el paso anterior con el uso de la variable NroFila
  11. Con la línea 11 lo que estamos realizando es seleccionar una columna, pero cuál?, es aquí donde tiene un poco más de valor el uso de las variables. Resulta que el código para seleccionar una columna, por ejemplo la columna 4 sería Columns(4).Select, pero como la idea es resaltar toda la columna de cualquier celda que seleccionemos previamente, no podemos indicar el número de la columna sin el uso de una variable; así que si por ejemplo seleccionamos la celda D14 o D3 o D24, primero guardamos en la variable NroColumna el número de la columna con el código de la línea 4 y luego utilizamos esta misma variable NroColumna en el código de selección de toda la Columna, es decir Columns(NroColumna).Select donde NroColumna ya tiene almacenado el número de la columna de la celda activa.
  12. Con la línea 12 lo que hacemos es aplicar color a la columna que acabamos de seleccionar en el paso anterior con el uso de la variable NroColumna.
  13. La última línea marca el fin (End) de la Macro o Subrutina (Sub)

Si queremos ejecutar la macro desde el Editor de Visual Basic, es necesario que el cursor este ubicado en cualquiera de las líneas de la macro y luego damos F5. La otra alternativa es vincular la macro a una autoforma en la hoja de Excel. En cualquier de los dos casos, el resultado de la macro es el siguiente:

Al seleccionar otra celda:

Descargar archivo de trabajo.

MÁS SOBRE

Gerencie.com en su correo.

Suscríbase y nosotros colocaremos en su bandeja de entrada la mejor información que generamos diariamente.

Siéntase libre de opinar

En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc. Lo que no está permitido es insultar o escribir palabras ofensivas o soeces. Si lo hace, su comentario será rechazado por el sistema o será eliminado por el administrador. Por último, trate de no escribir en mayúscula sostenida, resulta muy difícil leerle.