Saltar al contenido

¿Resaltar fila/columna activa en Excel sin usar VBA?

Este enunciado fue probado por expertos para que tengas la seguridad de la exactitud de esta crónica.

Solución:

Lo mejor que puede obtener es usar el formato condicional.

Cree dos reglas basadas en fórmulas:

  1. =ROW()=CELL("row")
  2. =COLUMN()=CELL("col")

Como se muestra en:

ingrese la descripción de la imagen aquí

El único inconveniente es que cada vez que selecciona una celda necesita volver a calcular su hoja. (Puede presionar “F9”)

Puede resaltar temporalmente la fila actual (sin cambiar la selección) presionando Shift+Space. Columna actual con Ctrl+Space.

Parece funcionar en Excel, Google Sheets, OpenOffice Calc y Gnumeric (todos los programas en los que lo probé). (Gracias a https://productforums.google.com/forum/#!topic/docs/gJh1rLU9IRA por señalar esto)

Desafortunadamente, no es tan agradable como la fórmula y macro-basadas en soluciones (que funcionaron para mí por cierto), porque el resaltado desaparece al mover el cursor, pero tampoco requiere la molestia de configurarlo cada vez, o hacer una plantilla con él (que no pude obtener trabajar).

Además, descubrí que podría simplificar la fórmula de formato condicional (para Excel) de las otras soluciones en una sola fórmula para una sola regla como:

=OR(CELL("col")=COLUMN(),CELL("row")=ROW())

La compensación es que, si lo hiciera de esta manera, la columna y la fila resaltadas tendrían que usar el mismo formato, pero eso es probablemente más que adecuado para la mayoría de los casos, y es menos trabajo. (gracias a https://trumpexcel.com/highlight-active-row-column-excel/ por la fórmula abreviada)

No creo que se pueda hacer sin usar VBA, pero pueden hacerse sin perder su historial de deshacer:

En VBA, agregue lo siguiente a su objeto de hoja de trabajo:

Public SelectedRow as Integer
Public SelectedCol as Integer

Private Sub Worksheet_SelectionChange(ByVal Target as Range)
    SelectedRow = Target.Row
    SelectedCol = Target.Column
    Application.CalculateFull ''// this forces all formulas to update
End Sub

Cree un nuevo módulo VBA y agregue lo siguiente:

Public function HighlightSelection(ByVal Target as Range) as Boolean
    HighlightSelection = (Target.Row = Sheet1.SelectedRow) Or _
        (Target.Column = Sheet1.SelectedCol)
End Function

Finalmente, use el formato condicional para resaltar celdas según la fórmula ‘HighlightSelection’:

captura de pantalla de reglas de formato condicional

Eres capaz de añadir valor a nuestro contenido aportando tu veteranía en las referencias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *