Resaltar rango de celdas activas

Hola. He visto este código en la web y quiero aplicarlo a mi archivo

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Forma As Excel.Shape
Dim L#, T#, W#, H#
Const Columna_inicial As Long = 2
Const Columnas As Long = 11
Const Grosor_borde As Byte = 3
Const Color_borde As Byte = 5 'Use la paleta de colores de ColorIndex
With Me.Cells(Target.Row, Columna_inicial).Resize(, Columnas)
L = .Left
T = .Top
W = .Width
H = .Height
End With
With Me.Shapes
On Error Resume Next
.Item("Resaltado").Delete
On Error GoTo 0
With .AddShape(1, L, T, W, H)
.Name = "Resaltado"
.Line.Weight = Grosor_borde
With .DrawingObject
.Interior.ColorIndex = xlNone
.Border.ColorIndex = Color_borde
End With
End With
End With
End Sub

Este código me ha funcionado en mi hoja resaltando el borde de la fila pero quisiera agregarle

*que funcione entre el rango de la fila 5 a la 31

*poder cambiarle el color de la celda seleccionada dentro de esa fila (que resalte el borde de la fila y el color de la celda posicionada)

*al ir desplazando las celdas y seleccionar una fila la macro me anula el botón de deshacer propio de excel no permitiéndome deshacer uno o mas ingresos de datos en la celda seleccionada, teniendo que cerrar el archivo sin guardar cambios si he ingresado mal un dato.

desde ya muchas gracias.

Añade tu respuesta

Haz clic para o