Macro para aplicar formato en fila

Les hago la siguiente consulta. Con la siguiente macro pretendo cambiar el formato de B:E en la fila en donde me encuentre. Pero al ejecutar me da error, diciéndome que se requiere un objeto, marcándome en amarillo la primera línea... ¿qué es lo que tendría que cambiar o agregar?

Private Sub formato()  
        fila = Target.Row
        Range("B" & fila & ":E" & fila).Select
        Selection.Font.Name = "Arial"
        Selection.Font.Size = 8
        Selection.HorizontalAlignment = xlLeft
        Selection.VerticalAlignment = xlBottom
        Selection.HorizontalAlignment = xlLeft
        Selection.VerticalAlignment = xlCenter
        Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
        Selection.Borders(xlEdgeTop).LineStyle = xlContinuous
        Selection.Borders(xlEdgeBottom).LineStyle = xlContinuous
        Selection.Borders(xlEdgeRight).LineStyle = xlContinuous
        Selection.Borders(xlInsideVertical).LineStyle = xlContinuous
        Selection.Borders(xlInsideHorizontal).LineStyle = xlContinuous
        Selection.HorizontalAlignment = xlLeft
        Selection.VerticalAlignment = xlCenter
        Selection.WrapText = True
        Selection.IndentLevel = 1

End sub

1

1 respuesta

Respuesta
1

Prueba con esta macro, donde estés cuando corras la macro dará formato a la fila comprendida entre b y e

Sub dar_formato()
fila = ActiveCell.Row: Range("b" & fila).Resize(1, 4).Select
        With Selection
            .Font.Name = "Arial"
            .Font.Size = 8
            .HorizontalAlignment = xlLeft
            .VerticalAlignment = xlBottom
            .VerticalAlignment = xlCenter
            .Borders(xlEdgeLeft).LineStyle = xlContinuous
            .Borders(xlEdgeTop).LineStyle = xlContinuous
            .Borders(xlEdgeBottom).LineStyle = xlContinuous
            .Borders(xlEdgeRight).LineStyle = xlContinuous
            .Borders(xlInsideVertical).LineStyle = xlContinuous
            .Borders(xlInsideHorizontal).LineStyle = xlContinuous
            .WrapText = True
            .IndentLevel = 1
        End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas