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:
=ROW()=CELL("row")
=COLUMN()=CELL("col")
Como se muestra en:
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’:
Eres capaz de añadir valor a nuestro contenido aportando tu veteranía en las referencias.