Leer en inglés

Compartir a través de


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

Resaltado de la celda activa

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

Resaltado de la fila y columna completas que contienen la celda activa

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

Resaltado de la fila y columna que contienen la celda activa en la región actual

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

Acerca del colaborador

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".

Soporte técnico y comentarios

¿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.