Como aplicar bordas a uma célula?

Para aplicar bordas a uma célula usando VBA no Excel, você pode usar dois métodos diferentes. A primeira é a propriedade “Borders” e a segunda é o método “BorderAround”. A única diferença entre esses dois métodos está na propriedade “Borders”, você pode até aplicar a borda em um lado da célula e a borda ao redor dela se aplica completamente à célula.

Neste tutorial exploraremos as duas formas e veremos quais são as diferentes maneiras de adicionar a borda.

Propriedade de fronteira VBA

  1. Primeiro, você precisa especificar o intervalo ou célula onde deseja aplicar a borda usando o objeto range.
    specify the range or cell
  2. Depois disso, digite um ponto final (.) e selecione a propriedade “Borders” na lista de propriedades e métodos.
    type a dot and then select the border
  3. Em seguida, especifique o índice da borda dos contantes disponíveis. Aqui eu uso “xlEdgeBottom” para aplicar a borda apenas na parte inferior da célula.
    specify the border index
  4. A partir daí, especifique o estilo da linha usando “LineStyle”. Eu uso “xlContinuonus” como estilo de linha.
    specify th line style
 Sub vba_borders() Range("A1") _ .Borders(xlEdgeBottom) _ .LineStyle = XlLineStyle.xlContinuous End Sub

Agora, quando você executar este código, ele adicionará uma borda na parte inferior da célula A1.

isso adicionará uma borda na parte inferior

Usando cores diferentes com índice de cores/cor

Assim como você normalmente escolhe a cor da borda quando faz isso manualmente. Na propriedade border, você também pode usar o índice de cores e a propriedade color para usar uma cor diferente da cor padrão.

Considere o código abaixo.

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

Quando você executa esta macro, ela adiciona uma borda vermelha na parte inferior da célula.

usando cores diferentes com índice de cores

Ou se você quiser usar a propriedade colorindex, o código seria assim.

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

Relacionado: VBA com Declaração

Adicione uma borda dentro de uma célula

Se você deseja aplicar uma borda dentro de uma célula, neste caso você precisa usar “xlDiagonalUp” e “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
adicione uma borda dentro de uma célula

Quando você executa o código acima, ele adiciona uma borda dentro da célula para cima e para baixo.

Método VBA BorderAround

Na propriedade BorderAround do VBA, você tem 5 argumentos opcionais, mas dois devem ser especificados para aplicar corretamente a borda a uma célula.

método borderaround vba

O código a seguir aplica a borda ao redor do intervalo A1:A3 quando você executa a macro.

 Range("A1:A3").BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin
especifique para aplicar a borda a uma célula da maneira correta

Adicione uma borda a cada célula do intervalo

O código a seguir percorre todas as células do intervalo e aplica a borda a cada célula, uma por uma.

 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
Adicione uma borda a cada célula do intervalo

Aplicar borda a todas as células com texto

O código a seguir usa FOR LOOP, USED RANGE, IFEMPTY e IF STATEMENT para aplicar bordas apenas às células onde você tem um 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

Remover bordas

Basta usar o estilo de linha “xlNone”.

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

E se você deseja remover a borda de todas as células de uma planilha onde você possui um valor, considere o código a seguir.

 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

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *