Resaltar la celda, fila o columna activa
Los siguientes ejemplos de código muestran maneras de resaltar la celda activa o las filas y columnas que contienen la celda activa. Estos ejemplos usan el evento SelectionChange del objeto Worksheet.
Código de ejemplo provisto por: Tom Urtis, Atlas Programming Management
El siguiente ejemplo de código borra el color en todas las celdas de la hoja de cálculo al establecer la propiedad ColorIndex igual a 0, y luego resalta la celda activa al establecer la propiedad ColorIndex igual a 8 (turquesa).
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
' Clear the color of all the cells
Cells.Interior.ColorIndex = 0
' Highlight the active cell
Target.Interior.ColorIndex = 8
Application.ScreenUpdating = True
End Sub
El siguiente ejemplo de código borra el color en todas las celdas de la hoja de cálculo al establecer la propiedad ColorIndex igual a 0, y luego resalta la fila y columna completas que contienen la celda activa al usar las propiedades EntireRow y EntireColumn.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
' Clear the color of all the cells
Cells.Interior.ColorIndex = 0
With Target
' Highlight the entire row and column that contain the active cell
.EntireRow.Interior.ColorIndex = 8
.EntireColumn.Interior.ColorIndex = 8
End With
Application.ScreenUpdating = True
End Sub
El siguiente ejemplo de código borra el color en todas las celdas de la hoja de cálculo al establecer la propiedad ColorIndex igual a 0, y luego resalta la fila y columna que contienen la celda activa en la región actual al usar la propiedad CurrentRegion del objeto Range.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Clear the color of all the cells
Cells.Interior.ColorIndex = 0
If IsEmpty(Target) Or Target.Cells.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
With ActiveCell
' Highlight the row and column that contain the active cell, within the current region
Range(Cells(.Row, .CurrentRegion.Column), Cells(.Row, .CurrentRegion.Columns.Count + .CurrentRegion.Column - 1)).Interior.ColorIndex = 8
Range(Cells(.CurrentRegion.Row, .Column), Cells(.CurrentRegion.Rows.Count + .CurrentRegion.Row - 1, .Column)).Interior.ColorIndex = 8
End With
Application.ScreenUpdating = True
End Sub
Tom Urtis, MVP, es el fundador de Atlas Programming Management, una empresa de Silicon Valley que ofrece soluciones empresariales integrales de Microsoft Office y Excel. Tom tiene más de 25 años de experiencia en la administración de negocios y el desarrollo de aplicaciones de Microsoft Office. Es, además, coautor de "Holy Macro! 2500 ejemplos de VBA para Excel".
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.