Crear bordes

Respetuoso para todos y todas. Quiero darle borde a una cantidad no definida de filas y columnas, ¿cómo se genera el código para lograrlo?

1 Respuesta

Respuesta
1
Te he echo la macro con un borde que he elegido al azar, en la ventana te sale que elijas las celdas o rango de celdas que quieres ponerle bordes puedes delegir de esta forma D9, D23, C6 eso para celdas D2:D21, F8:F15 esto para rangos y también puedes mezclarlo A7, B9, C2:C18, D4:D9 una vez ejecutada te cambiará los bordes de esas celdas o rangos. La macro es esta:
Sub Macro1()
'
' Macro1 Macro
'
ElegirCelda = InputBox("¡Elige las celdas!", "Cambiar los bordes", 1)
Range(ElegirCelda).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
End Sub
Hola, Julio, agradezco tu pronta y buena respuesta, pero, sigo teniendo un problema, el usuario de la macro no puede seleccionar las celdas, porque no conoce la cantidad de las filas ni de las columnas. Te rehago la pregunta:
La macro debe recorrer desde la columna A hasta que encuentre en esa fila una celda vacía, también debe recorrer desde la fila 1 hasta que encuentre en esa columna una celda vacía, ahora, conocidas la última columna y la última fila proceder a poner los bordes.
Nuevamente, gracias.
Vamos a ver entiendo que quieres recorrer las filas hasta encontrar una celda vacía en la columna A, ahora entiendo que aunque la celda situada en la columna A esté vacía a su derecha B, C, DE puede contener datos y tu quieres situarte en la primera celda vacía de esa fila vale pues eso hace esta macro:
Sub recorrer_fila_de_otra_forma()
'Nos situamos en la celda con el primer dato
Range("A1").Select
'Bajamos hasta la última fila adyacente, que contenga datos
Selection.End(xlDown).Select
'Pasamos a la siguiente línea, que será una línea en blanco, pero nos desplazamos a la celda de la columna B que tendrá datos
ActiveCell.Offset(1, 1).Select
'Nos vamos por columnas hasta la última que contenga datos
Selection.End(xlToRight).Select
'Nos posicionamos en la celda contigua que será vacía
ActiveCell.Offset(0, 1).Select
End Sub
Mira a ver si es esto lo que buscas, a continuación puedes poner el código de los bordes
Muchas gracias Julio, EXCELENTE ayuda.
Tengo curiosidad por algo.
Existe una código para buscar el número de la última fila con datos:
i=2
Do while (i,1) <> ""
if cells (i,1) = "" then exit do
i=i+1
Loop
range ("a2: c" & i-1).select
Mi nueva pregunta es: ¿Existe un código parecido para encontrar la letra correspondiente a la columna y como escribir la selección del rango?. Gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas