Página 1 de 1

Simplificar criação de Bordas

Enviado: 16 Mar 2017 às 13:42
por gilbertjuniors
Boa tarde.


Estou criando uma planilha e uma das atividades que não soube realizar diretamente no código é a de criar bordas, gravei uma macro, criei uma função que recebe um range e executa este código.

O gravador de macros sempre gera muitas linhas desnecessários, em alguns casos já reescrevi um código mais enxuto porém, tem um situação que ainda me incomoda é a criação de bordas, segue o código:
Código: Selecionar todos
    Sheets("Plan 1").Range("A2:H30).Select

    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = -4.99893185216834E-02
        .PatternTintAndShade = 0
    End With
Obs.: Os ranges são passados por parâmetro para a função, coloquei um range fixo aqui no forúm somente para facilitar a explicação.


Alguém sabe como posso enxugar este código?

Re: Simplificar criação de Bordas

Enviado: 16 Mar 2017 às 14:45
por osvaldomp
Experimente:
Código: Selecionar todos
Sub PintaEBordas()
  With Sheets("Plan1").Range("A2:H30")
   .Borders.Weight = xlHairline
   .BorderAround Weight:=xlThin
   .Interior.ThemeColor = xlThemeColorDark1
   .Interior.TintAndShade = -4.99893185216834E-02
  End With
End Sub

Simplificar criação de Bordas

Enviado: 16 Mar 2017 às 16:28
por gilbertjuniors
Problema resolvido.


Grato