¿cómo aplicar bordes a una celda?

Para aplicar bordes a una celda usando VBA en Excel, puede usar dos métodos diferentes. La primera es la propiedad «Borders» y la segunda es el método «BorderAround». La única diferencia entre estos dos métodos está en la propiedad «Bordes», incluso puede aplicar el borde a un lado de la celda y el borde alrededor se aplica completamente a la celda.

En este tutorial exploraremos ambas formas y veremos cuáles son las diferentes formas de agregar el borde.

Propiedad de borde de VBA

  1. Primero, debe especificar el rango o celda donde desea aplicar el borde usando el objeto de rango.
    specify the range or cell
  2. Después de eso, escriba un punto (.) y luego seleccione la propiedad «Bordes» de la lista de propiedades y métodos.
    type a dot and then select the border
  3. Luego especifique el índice del borde de los contenidos disponibles. Aquí uso «xlEdgeBottom» para aplicar el borde solo en la parte inferior de la celda.
    specify the border index
  4. Desde allí, especifique el estilo de línea usando «LineStyle». Utilizo «xlContinuonus» como estilo de línea.
    specify th line style
 Sub vba_borders() Range("A1") _ .Borders(xlEdgeBottom) _ .LineStyle = XlLineStyle.xlContinuous End Sub

Ahora, cuando ejecute este código, agregará un borde en la parte inferior de la celda A1.

esto agregará un borde en la parte inferior

Usar diferentes colores con Color Index/Color

Al igual que normalmente eliges el color del borde cuando lo haces manualmente. En la propiedad de borde, también puede usar el índice de color y la propiedad de color para usar un color distinto al color predeterminado.

Considere el código a continuación.

 With Range("A1").Borders(xlEdgeBottom) .LineStyle = XlLineStyle.xlContinuous .Color = RGB(255, 0, 0) End With

Cuando ejecuta esta macro, agrega un borde en la parte inferior de la celda con un color rojo.

usando diferentes colores con índice de color

O si desea utilizar la propiedad colorindex, el código sería así.

 With Range("A1").Borders(xlEdgeBottom) .LineStyle = XlLineStyle.xlContinuous .ColorIndex = 7 End With
propiedad de índice de color

Relacionado: VBA con Declaración

Agregar un borde dentro de una celda

Si desea aplicar un borde dentro de una celda, en este caso deberá utilizar «xlDiagonalUp» y «xlDiagonalDown» como xlBorderIndex.

 With Range("A1").Borders(xlDiagonalUp) .LineStyle = XlLineStyle.xlDashDotDot .Color = RGB(255, 0, 0) End With With Range("A1").Borders(xlDiagonalDown) .LineStyle = XlLineStyle.xlDashDotDot .Color = RGB(255, 0, 0) End With
agregar un borde dentro de una celda

Cuando ejecuta el código anterior, agrega un borde dentro de la celda hacia arriba y hacia abajo.

Método VBA BorderAround

En la propiedad BorderAround de VBA, tiene 5 argumentos opcionales, pero se deben especificar dos para aplicar correctamente el borde a una celda.

método de borde de vba

El siguiente código aplica el borde alrededor del rango A1:A3 cuando ejecuta la macro.

 Range("A1:A3").BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin
especificar aplicar el borde a una celda de la manera correcta

Agregue un borde a cada celda del rango

El siguiente código recorre todas las celdas del rango y aplica el borde a cada celda una por una.

 Sub vba_borders() Dim iRange As Range Dim iCells As Range Set iRange = Range("A1:A10") For Each iCells In iRange iCells.BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin Next iCells End Sub
Agregue un borde a cada celda del rango

Aplicar borde a todas las celdas con texto.

El siguiente código utiliza FOR LOOP, USED RANGE, IFEMPTY y IF STATEMENT para aplicar bordes solo a las celdas donde tiene un valor.

 Dim iRange As Range Dim iCells As Range Set iRange = ThisWorkbook.ActiveSheet.UsedRange For Each iCells In iRange If Not IsEmpty(iCells) Then iCells.BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin End If Next iCells

Quitar bordes

Simplemente use el estilo de línea «xlNone».

 Range("A1").Borders(xlDiagonalDown).LineStyle = xlNone

Y si desea eliminar el borde de todas las celdas de una hoja de trabajo donde tiene un valor, considere el siguiente código.

 Dim iRange As Range Dim iCells As Range Set iRange = ThisWorkbook.ActiveSheet.UsedRange For Each iCells In iRange If Not IsEmpty(iCells) Then iCells.Borders(xlDiagonalDown).LineStyle = xlNone End If Next iCells

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *