Agregar bordes al guardar en macro

Expertos quisiera agregarle bordes a los cuadros de excel que guarda mi macro, les adjunto código:

Sub ACTUALIZAR()
'Por Adriel
'
Set h1 = Sheets("Registro")
Set h2 = Sheets("Datos")
'
If h1.[D22] = "" Then
MsgBox "Ingrese codigo "
Exit Sub
End If
'
Set r = h2.Columns("A")
Set b = r.Find(h1.[D22], lookat:=xlWhole)
If Not b Is Nothing Then
f = b.Row
h2.Cells(f, "H") = h1.[E26]
h2.Cells(f, "I") = h1.[C24]
'
MsgBox "Kilometraje de Llegada Actualizado"
Else
MsgBox "Codigo no encontrado"
End If
End Sub

1 Respuesta

Respuesta
1

Si mal no te entendí, agregar algo así, adaptándolo a tus necesidades, te será útil:

With Cells(f, "H")
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
End With

Salu2

Abraham Valencia

abraham, gracias por responder.. me explicas como funciona el código? por favor

Abre un archivo nuevo, anda a una hoja cualquiera, en el editor de VBA inserta un Módulo "normal" y agrega esta rutina:

Sub Bordes ()
With Cells(1, "A")
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
End With
End Sub

"Corre" la macro y verás que como resultado la celda "A1" tiene, ahora, en sus cuatro bordes líneas continuas. Cada línea lo que hace es eso, agregar un borde continuo (xlContinuous) arriba (top), derecha (Right), etc.

la idea era implementarlo en mi código

Sub ACTUALIZAR()
'Por Adriel
'
Set h1 = Sheets("Registro")
Set h2 = Sheets("Datos")
'
If h1.[D22] = "" Then
MsgBox "Ingrese codigo "
Exit Sub
End If
'
Set r = h2.Columns("A")
Set b = r.Find(h1.[D22], lookat:=xlWhole)
If Not b Is Nothing Then
f = b.Row
h2.Cells(f, "H") = h1.[E26]
h2.Cells(f, "I") = h1.[C24]
'
MsgBox "Kilometraje de Llegada Actualizado"
Else
MsgBox "Codigo no encontrado"
End If
End Sub

Por eso coloqué "adaptándolo a tus necesidades", después me dijiste que te lo explique y también hice eso. Es cuestión de que tú lo uses para las celdas de tu interés, yo asumí que una podía ser "h2.Cells(f,"H")" y por eso puse el primer ejemplo, de ser así basta algo como:

With h2.Cells(f, "H")
.value = h1.[E26]
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
End With

Abraham Valencia

Bueno al final me funciono agregando el código luego del end if:

With h2.Cells(f, "H")
    .Borders(xlEdgeLeft).LineStyle = xlContinuous
    .Borders(xlEdgeTop).LineStyle = xlContinuous
    .Borders(xlEdgeBottom).LineStyle = xlContinuous
    .Borders(xlEdgeRight).LineStyle = xlContinuous
End With
With h2.Cells(f, "I")
    .Borders(xlEdgeLeft).LineStyle = xlContinuous
    .Borders(xlEdgeTop).LineStyle = xlContinuous
    .Borders(xlEdgeBottom).LineStyle = xlContinuous
    .Borders(xlEdgeRight).LineStyle = xlContinuous
End With

pregunta culminada 

Excelente. Nos vemos.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas